简介
很多个人站长在搭建网站时使用nginx作为服务器,为了了解网站的访问情况,一般有两种手段:
- 使用CNZZ之类的方式,在前端页面插入js,用户访问的时候触发js,记录访问请求。
- 利用流计算、或离线统计分析nginx的access log,从日志中挖掘有用信息。
两种方式各有优缺点:
- CNZZ使用起来比较简单,各种指标定义清楚。但这种方式只能记录页面的访问请求,像ajax之类的请求是无法记录的,还有爬虫信息也不会记录。
- 利用流计算、离线计算引擎可以支持个性化需求,但需要搭建一套环境,并且在实时性以及分析灵活性上比较难平衡。
两种手段相互补充,才能对网站的状况有更加深入的了解。
日志服务在查询基础上新推出来SQL支持实时日志分析功能,极大的降低了站长们分析access log的门槛,本文将详细介绍如何使用日志服务分析access log中的各种指标。
Nginx访问日志格式
一个典型的nginx访问日志配置:
字段解释:
- remote_addr : 客户端地址
- remote_user : 客户端用户名
- time_local : 服务器时间
- request : 请求内容,包括方法名,地址,和http协议
- http_host : 用户请求是使用的http地址
- status : 返回的http 状态码
- request_length : 请求大小
- body_bytes_sent : 返回的大小
- http_referer : 来源页
- http_user_agent : 客户端名称
- request_time : 整体请求延时
收集访问日志到日志服务
-
首先把日志收集到日志服务
-
-
分析访问日志
通常,对access log的访问需求有,查看网站的pv,uv,热点页面,热点方法,错误请求,客户端类型,来源页面等等。下文将逐个介绍各个指标的计算方法。
-
PV统计不仅可以一段时间总的PV,还可以按照小的时间段,查看每段时间的,比如每5分钟pv
-
-
-
-
-
-
-