nginx 日志分析实例

发布时间:2020-05-17编辑:脚本学堂
nginx 日志分析实例

    系统运行中,需要了解用户访问哪个页面比较多,耗时比较长。
    运行比较慢的往往是动态文件,本次我们集中在action页面,考虑到action 的url后面有不同的id值(前面都是一样的),我们需要做个url截断。
 
    下面是分析代码的shell文件,前10位访问最多的。
 

复制代码 代码如下:
#!/bin/sh
>action.tmp
cat access.log|linuxjishu/13830.html target=_blank class=infotextkey>awk '{print $7}'|grep action| while read Line
       do
                svn_path=${Line%%?*}
                 echo $svn_path>>action.tmp
        done
cat action.tmp|sort|uniq -c|sort -nr|head -n 10

line=${line%%?*} 截断line字符串,去掉?号后面的字符串(包括?),并把结果赋值给变量line。
 
另外响应时间也是要关注的。需要在nginx里做配置,增加request_time项:
 

复制代码 代码如下:
http {
    include       mime.types;
    default_type  application/octet-stream;
    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';

统计一分钟产生的流量:
 

复制代码 代码如下:
grep showTbMatchData.do huabao.taotaosou.net.log |grep "2012:17:01"|awk '{ print $10 }'|sort -n|awk '{sum+=$1}END{print sum}'

得出的结果*8/60 就是平均每秒的实际占用带宽。

您可能感兴趣的文章:
nginx 日志分析的实例学习
nginx 日志模块分析详解
Nginx关闭日志的方法
Nginx日志分析 Nginx日志切割与Awstats配置
nginx日志配置、Nginx日志分割
有关nginx日志格式的设计分享
nginx日志统计访问时间的例子
Nginx日志配置文件的格式说明
nginx日志报大量400错误的解决方法
nginx关闭favicon.ico日志记录的方法
nginx与apache日志格式的区别
nginx日志中记录cookie的实现方法
修改nginx访问日志的时间格式的方法
Nginx日志中过滤关键字的写法