阅读788 返回首页    go iPhone_iPad_Mac_apple


处理-访问日志统计分析__最佳实践_日志服务-阿里云

场景

用户使用ECS搭建网站,网站的访问日志(Nginx,Apache访问日志)收集到阿里云日志服务中供查询。为了从访问日志中挖掘出更多价值,日志服务提供了一个docker镜像,用于实时统计和展示网站访问的一系列指标,例如PV,UV,延时,地理,状态码,爬虫,网络流量等指标。

日志字段

  1. 192.168.1.101 - - [17/Mar/2016:10:28:30 +0800] "GET /fonts/fontawesome-webfont.woff?v=4.2.0 HTTP/1.1" 0.021 1207 304 0 "https://sls.console.aliyun.com/css/lib.css" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36"

以上述日志为例,分别提取的字段包括

字段名 字段样例
ip 192.168.1.101
method GET
path /fonts/fontawesome-webfont.woff?v=4.2.0
latency 0.021
request_length 1207
status 304
response_length 0
referer https://sls.console.aliyun.com/css/lib.css
user_agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.87 Safari/537.36

指标

PV

分别以5分钟、1小时、1天为统计周期,统计每个周期内的日志总数。

UV

分别以1小时、1天为统计周期,统计每个周期内的IP总数。

页面

以天为统计周期,统计访问最多的页面路径,以及访问最多的参数。例如请求/fonts/fontawesome-webfont.woff?v=4.2.0,提取出页面/fonts/fontawesome-webfont.woff 和参数v = 4.2.0

方法

方法指的是HTTP方法,包括GET,POST,DELETE,PUT等。以小时和天为统计周期,统计每个周期内每个方法的日志条数。

地理

统计每个IP所属的省份,展示所选时间段内每个省份的分布图。

状态码

状态码指的是HTTP状态码,包括200,401,403,500等常见状态码。以小时和天为统计周期,统计每个周期内的状态码次数。

浏览器

浏览器分为多个子指标,分别统计每一个子指标出现的PV、UV。包括

  • 终端类型
    • 移动终端
    • 非移动终端
  • 浏览器类型

    • chrome
    • safari
    • IE
    • firefox
  • 操作系统

    • mac
    • window
    • linux
  • 浏览器内核

    • webkit
    • gecko

爬虫

统计常见的爬虫访问量,常见爬虫包括百度、Google、360、今日头条。

来源页

根据referer统计的来源域名,统计来源最高的20个域名。

延时

  • 统计每5分钟内的网络请求的延时的平均值和最大值。
  • 统计每天分布最多的延时的分布情况。出现次数较少的延时区间不会加入统计,比如一天内只有一次延时为8s,大部分的延时都在0.3s 到 0.5s之间,那么只会统计0.3->0.4, 0.4->0.5的延时分布。
  • 统计每个小时延时最大的日志。

流量

以小时为单位,根据request_length字段和response_length字段,统计访问的入网流量和出网流量的大小。

和Google Analytics的比较

Google Analytics 基于日志服务的访问统计
实现方式 在浏览器端加JS,用户访问时触发统计 根据服务端访问日志统计
是否能看到爬虫信息
能否看到请求延时

开始使用

请参考使用文档

最后更新:2016-11-23 17:16:06

  上一篇:go 处理-搭建监控系统__最佳实践_日志服务-阿里云
  下一篇:go 处理-使用访问日志统计__最佳实践_日志服务-阿里云