nginx 的 access log 中可以记录很多有价值的信息,通过分析 access log,可以收集到很多指标。
python 编写的 linux 工具 ngxtop 就实现了对 access log 的分析功能。
PV:PV(访问量): 即Page View, 即页面浏览量或点击量,用户每次刷新即被计算一次。
UV:UV(独立访客):即Unique Visitor,访问您网站的一台电脑客户端为一个访客。00:00-24:00内相同的客户端只被计算一次。
参数解释:
sort 排序
sort -n 依据数值大小排序
sort -k 1 对第一列排序
sort -r 以相反的顺序排序
uniq -c 去掉重复并显示每行在文本中重复出现的次数
wc -l 计数,查看有多少行
head -n 10 查看前10行
1.根据访问IP统计UV
awk '{print $1}' /var/log/nginx/access.log|sort | uniq -c |wc -l
2.统计访问URL统计PV
awk '{print $7}' /var/log/nginx/access.log|wc -l
3.查询访问最频繁的URL
查询后可以用more翻页查看
awk '{print $7}' /var/log/nginx/access.log|sort | uniq -c |sort -n -k 1 -r
4.查询访问最频繁的IP
awk '{print $1}' access.log|sort | uniq -c |sort -n -k 1 -r
5.查询访问最频繁的前10的IP
awk '{print $1}' access.log|sort | uniq -c |sort -n -k 1 -r|head -n 10