场景

使用ECS搭建网站,并且将网站的访问日志(比如Nginx,Apache)收集到阿里云日志服务后,您可以使用日志监控统计QPS、状态码(HTTP CODE)、响应时间(rt)等指标,并对这些指标设置报警规则。

下文以Nginx的AccessLog为例,说明如何使用日志监控统计网站的QPS、状态码、响应时间。

日志字段

192.168.1.2 - - [10/Jul/2015:15:51:09 +0800] "GET /ubuntu.iso HTTP/1.0" 0.032 129 200 168 "-" "Wget/1.11.4 Red Hat modified"

以上述日志为例,在日志服务中配置提取如下字段。

字段 字段样例 说明
time 2015-06-10 15:51:09 日志时间戳,日志系统默认值字段。
rt 0.032 执行时间,单位为秒,精度为毫秒。
URL /ubuntu.iso 访问的URL。
status 200 HTTP 返回码。
body 168 返回客户端的HTTP body大小,不包含header。
说明

URL的值不要包含参数GET请求“?”后面的值,如果是Rest风格则不要包含资源定位符,否则无法进行单URL的QPS统计。

如果您是第一次使用日志监控功能,在使用日志监控功能前,需要授权云监控读取可以读取您的日志,详情可参考授权日志监控

统计网站总QPS或各个URL的QPS

  1. 登录云监控,进入日志监控页面后,点击页面右上角的“新建日志监控”,进入配置页面。
  2. 关联资源中选择需要统计的网站访问日志数据源。

  3. 分析日志中,统计方法选择任意一个日志字段,countps计算方式,和日志筛选条件”。如果统计网站的总QPS,则group by不需要填写内容。如果统计各个URL的QPS,group by选择“URL”字段。(URL的个数需要在1000以内,否则会导致没有监控数据。)

统计网站的整体响应时间分布

  1. 登录云监控,进入日志监控页面后,单击页面右上角的“新建日志监控”,进入配置页面。
  2. 关联资源中选择需要统计的网站访问日志数据源。

  3. 分析日志中,统计方法选择rt字段,并且根据实际需求选择求和、P50、P75、P90、P99等计算方法。日志过滤group by不需要填写内容。
    • 选择平均,表示1分钟内的平均时间。
    • 选择P50,表示1分钟内rt的中位数。
    • 选择P75,表示1分钟内75%的rt小于此值。
    • 选择P90,表示1分钟内90%的rt小于此值。
    • 选择P99,表示1分钟内99%的rt小于此值。


统计网站HTTP访问请求为2XX/3XX情况下的响应时间分布

  1. 登录云监控,进入日志监控页面后,单击页面右上角的“新建日志监控”,进入配置页面。
  2. 关联资源中选择需要统计的网站访问日志数据源。
  3. 分析日志中,统计方法选择rt,并且根据实际需求选择求和、P50、P75、P90、P99等计算方法。日志过滤group by不需要填写内容。
    • 选择平均,表示1分钟内的平均时间。
    • 选择P50,表示1分钟内rt的中位数。
    • 选择P75,表示1分钟内75%的rt小于此值。
    • 选择P90,表示1分钟内90%的rt小于此值。
    • 选择P99,表示1分钟内99%的rt小于此值。
  4. 日志筛选中按下图选择各参数 。

  5. 如果统计网站的整体2XX/3XX 响应时间分布,group by不需要填写内容。如果统计网站下各个URL的2XX/3XX 响应时间分布,group by选择“URL”字段。URL的个数需要在1000以内,否则会出现没有监控数据。)

统计网站HTTP访问请求的4XX、5XX状态码的个数

  1. 登录云监控,进入日志监控页面后,单击页面右上角的“新建日志监控”,进入配置页面。
  2. 关联资源中选择需要统计的网站访问日志数据源。
  3. 分析日志中,统计方法选择status,并选择计数的计算方式。
  4. 日志筛选中按下图选择各参数 。

  5. 如果统计网站的整体4XX/5XX 响应个数,group by不需要填写内容。如果统计网站下各个URL的4XX/5XX 响应个数,group by选择URL。URL的个数需要在1000以内,否则会出现没有监控数据。)
  6. 单击确认保存设置。