日志分析方法

日志分析方法,第1张

Nginx日志常用分析命令汇总

一.定义

并发连接

客户端向网络服务器发出请求,并创建TCP连接。每秒网络服务器连接的TCP总数是并发连接数。

请求数量

请求的数量意味着在连接创建之后,移动客户端向http服务发送GET/POST/HEAD数据文件。

扩展:缺少对象。请求结果出来后有两种情况:

  • http数据信息呼和浩特包含关闭二字,关闭TCP连接;

  • http数据信息呼和浩特包含保活二字。如果这个连接没有关闭,可以根据这个连接再次向http服务发送请求,减少TCP并发连接数。

    PV(页面视图)

    每次客户访问网站时,都会记录一次访问次数,即页面访问次数或页面浏览量。客户访问同一网页的总次数。

    唯一访问者

    指搜索数量。将每台单机(基于cookie)视为一个访客,一天内(00:00-24:00)的访客总数。一天内对同一cookie的访问只计算一次。

    互联网协议

    从00:00到24:00,同一个IP地址只测量一次。

    注意:有关并发连接数、请求数和并发客户数的概念,请参考日志http://www.4wei.cn/archives/1002399.


    二。Nginx配备了

    版本号

    nginx版本:nginx/1.10.2

    航海日志记录

    access_log/var/log/access.log访问;

    日志文件格式

    log_formataccess'$remote_addr-$remote_user[$time_local]"$request"$request_body'

    $upstream_addr$upstream_response_time$request_time

    $status$body_bytes_sent"$http_referer"'

    "$http_user_agent"$http_x_forwarded_for";



    三。常见日志解析说明

    1.请求总数

    wc -l access.log |awk '{print $1}'

    2.独立IP的数量

    awk '{print $1}' access.log|sort |uniq |wc -l

    3.每秒移动客户端请求数前5名

    awk  -F'[ []' '{print $5}' access.log|sort|uniq -c|sort -rn|head -5

    4.访问最频繁的IPTop5

    awk '{print $1}' access.log|sort |uniq -c | sort -rn |head -5

    5.访问最频繁的URLTOP5

    awk '{print $7}' access.log|sort |uniq -c | sort -rn |head -5

    6.响应URLTOP5需要超过10秒钟

    awk '{if ($12 > 10){print $7}}' access.log|sort|uniq -c|sort -rn |head -5

    7.HTTP状态代码(不是200)Top5的统计分析

    awk '{if ($13 != 200){print $13}}' access.log|sort|uniq -c|sort -rn|head -5

    8.分析超过5万次请求的源IP的个人行为。

    awk '{print $1}' access.log|sort |uniq -c |sort -rn|awk '{if ($1 > 50000){print $2}}' > tmp.txt for i in $(cat tmp.txt) do    echo $i  >> analysis.txt    echo "访问个人行为统计分析" >> analysis.txt    grep $i  access.log|awk '{print $6}' |sort |uniq -c | sort -rn |head -5 >> analysis.txt    echo "访问插口统计分析" >> analysis.txt    grep $i  access.log|awk '{print $7}' |sort |uniq -c | sort -rn |head -5 >> analysis.txt    echo -e "\n"  >> /root/analysis/$Ydate.txt done

    注意:如果源IP来自服务器代理,那么第一条指令的详细地址应该改为$http_x_forwarded_fordetailedaddress。

    awk '{print $NF}' access.log|sort |uniq -c |sort -rn|awk '{if ($1 > 50000){print $2}}' > tmp.txt


    第四,拓宽

    Nginx日志的日常激光切割后,可以应用指令得到日常网站访问的分析总结,然后编写一个Python脚本来制作,加载,然后推送。也可以将数据信息导入MySQL,然后应用Python绘制图形。ELK等自然测井数据分析系统的应用,实际效果较好。

    欢迎分享,转载请注明来源:内存溢出

    原文地址: http://outofmemory.cn/zz/778018.html

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2022-05-03
    下一篇 2022-05-03

    发表评论

    登录后才能评论

    评论列表(0条)

    保存