美文网首页技术分享
linux统计nginx日志中请求访问量命令

linux统计nginx日志中请求访问量命令

作者: 尝试热爱这个世界 | 来源:发表于2021-05-19 10:33 被阅读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 的访问次数。

    相关文章

      网友评论

        本文标题:linux统计nginx日志中请求访问量命令

        本文链接:https://www.haomeiwen.com/subject/entpjltx.html