1、Accesslog日志概述
(1)统计站点访问ip来源、某个时间段的访问频率;
(2)查看访问最频的页面、http响应状态码、接口性能;
(3)接口秒级访问量、分钟级访问量、小时和天级访问量
2、默认配置变量剖析
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
- 范例:访问京东的log的日志信息
192.168.6.1 - - [03/Feb/2022:10:16:49 +0800] "GET /app/img/jingdong.png HTTP/1.1" 200 21416 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36"
- 变量详述
变量名称 | 变量 | case |
---|---|---|
remote_addr | 访问网站客户端地址,即客户端的ip | 192.168.6.1 |
remote_user | 2远程用户 | 对应的是第⼆个中杠“-”,没有远程⽤户, 所以⽤“-”填充 |
[$time_local] | 访问时间+时区 | [10/Jan/2022:17:10:25 +0800] |
$request | 用户http请求行信息 | GET /app/img/jingdong.png HTTP/1.1 |
$status | 访问状态码 | 200表示正常访问。 |
$body_bytes_sent | 响应body的字节数 | 21416 |
“$http_referer | 站点来源 | -,表示没有 |
$http_user_agent | 记录客户端的浏览信息 | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36 |
“$http_x_forwarded_for | 对应的是”-“或者空 |
3、实战案例之运维平台统计
(1)查看访问最频繁的前100个ip
awk '{print $1}' access.log | sort -n | uniq -c | sort -rn | head -n 100
- 运行结果
(2)统计访问最多的url前20名
cat access.log |awk '{print $7}'| sort|uniq -c| sort -rn| head -20 | more
- 运行结果
4、实战案例之自定义日志统计接口性能
(1)$request_time变量详述
- 含义:从接收用户请求的第一个字节到发送完响应数据的时间,即包括接受请求数据时间、程序响应时间、输出响应数据时间。
(2)配置日志格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" $request_time';
- 如图
(3)启用日志配置
access_log logs/access.log main;
- 如图
(4)重启应用
./nginx -s reload
(5)发送请求
http://weipinhui.com/app/img/weipinhui.png
http://jingdong.com/app/img/jingdong.png
(6)查看access日志最新信息
- 响应时间为0.000,不足1ms
192.168.6.1 - - [03/Feb/2022:11:01:49 +0800] "GET /app/img/jingdong.png HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36" "-" 0.000
192.168.6.1 - - [03/Feb/2022:11:01:52 +0800] "GET /app/img/weipinhui.png HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36" "-" 0.000
192.168.6.1 - - [03/Feb/2022:11:01:54 +0800] "GET /app/img/jingdong.png HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36" "-" 0.000
192.168.6.1 - - [03/Feb/2022:11:01:57 +0800] "GET /app/img/weipinhui.png HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36" "-" 0.000