linux统计nginx日志中请求访问量命令
2021-05-19 本文已影响0人
尝试热爱这个世界
Nginx 三种分配策略:轮询、权重、ip_hash(比如你登录了一个网站,登录信息已经保存到 a 机器,但当你做后续操作时的请求会到 b 机器,那么就获取不到你原来登录的信息,此时你就需要重新登录了。这样的情况是用户肯定不能接受的,ip_hash 模式就可以很好地解决这个问题,让每次访问能基于同一用户访问固定的服务器。)
nginx日志存放路径:nginx.conf
awk 常用参数是 -F 指定分隔符。
sed 常用的参数有:
a 表示新增;
i 表示插入;
c 表示取代;
d 表示删除。
Sort 的默认方式就是把第一列根据 ASCII 值排序输出。常用参数有:
-n,依照数值的大小排序;
-r,以相反的顺序来排序;
-k,选择以某个区间进行排序。
uniq 用于检查或者统计文本出现的重复行,常用参数是 -c,它用于连续重复行次数的统计。
cat access.log |awk'{print $7}'|sort|uniq -c|sort -n -k -r
这个命令,是提取 acccess.log 的第 7 列,也就是接口路径:
先 sort 排序,这样可以将相同的接口访问路径合并一起;
再使用 uniq -c 统计连续访问的次数;
最后根据访问次数排序,便可以得到如下结果。
cat access.log |awk '{print $7}'|sort|uniq -c|sort -n -k 1 -r
87280 /hello/list
18892 /hello/map
12846 /v1/login
通过输出结果可以看出第一列就是给定日志内的接口访问次数统计,比如 87280 就是 /hello/list 的访问次数。