ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Awk分析nginx访问日志

2020-07-09 10:05:18  阅读:194  来源: 互联网

标签:END log ++ access nginx awk print Awk 日志


awk是Linux系统下一个处理文本的编程语言工具,能用简短的程序处理标准输入或文件、数据排序、计算以及生成报表等等,应用非常广泛。

默认日志格式:

'$remote_addr - $remote_user [$time_local] "$request" $status $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"'

 

统计访问IP次数:
# awk '{a[$1]++}END{for(v in a)print v,a[v]}' access.log

统计访问访问大于100次的IP:

# awk '{a[$1]++}END{for(v in a){if(a[v]>100)print v,a[v]}}' access.log


统计访问IP次数并排序取前10:

# awk '{a[$1]++}END{for(v in a)print v,a[v]|"sort -k2 -nr |head -10"}' access.log

统计时间段访问最多的IP:

# awk '$4>="[02/Jan/2017:00:02:00" && $4<="[02/Jan/2017:00:03:00"{a[$1]++}END{for(v in a)print v,a[v]}' access.log


统计上一分钟访问量:

# date=$(date -d '-1 minute' +%d/%d/%Y:%H:%M)
# awk -vdate=$date '$4~date{c++}END{printc}' access.log


统计访问最多的10个页面:

# awk '{a[$7]++}END{for(v in a)print v,a[v]|"sort -k1 -nr|head -n10"}' access.log


统计每个URL数量和返回内容总大小:

# awk '{a[$7]++;size[$7]+=$10}END{for(v in a)print a[v],v,size[v]}' access.log


统计每个IP访问状态码数量:

# awk '{a[$1" "$9]++}END{for(v in a)print v,a[v]}' access.log


统计访问IP是404状态次数:

# awk '{if($9~/404/)a[$1" "$9]++}END{for(i in a)print v,a[v]}' ac

标签:END,log,++,access,nginx,awk,print,Awk,日志
来源: https://www.cnblogs.com/anly95/p/13271887.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有