Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Nginx日志常用统计分析命令

Nginx日志常用统计分析命令

作者头像
神秘的寇先森
发布于 2019-04-17 09:07:29
发布于 2019-04-17 09:07:29
4K00
代码可运行
举报
文章被收录于专栏:Java进阶之路Java进阶之路
运行总次数:0
代码可运行

IP相关统计

统计IP访问量(独立ip访问数量)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
awk '{print $1}' access.log | sort -n | uniq | wc -l

查看某一时间段的IP访问量(4-5点)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grep "07/Apr/2017:0[4-5]" access.log | awk '{print $1}' | sort | uniq -c| sort -nr | wc -l  

查看访问最频繁的前100个IP

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
awk '{print $1}' access.log | sort -n |uniq -c | sort -rn | head -n 100

查看访问100次以上的IP

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
awk '{print $1}' access.log | sort -n |uniq -c |awk '{if($1 >100) print $0}'|sort -rn

查询某个IP的详细访问情况,按访问频率排序

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grep '127.0.01' access.log |awk '{print $7}'|sort |uniq -c |sort -rn |head -n 100

页面访问统计

查看访问最频的页面(TOP100)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
awk '{print $7}' access.log | sort |uniq -c | sort -rn | head -n 100

查看访问最频的页面([排除php页面】(TOP100)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grep -v ".php"  access.log | awk '{print $7}' | sort |uniq -c | sort -rn | head -n 100 

查看页面访问次数超过100次的页面

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat access.log | cut -d ' ' -f 7 | sort |uniq -c | awk '{if ($1 > 100) print $0}' | less

查看最近1000条记录,访问量最高的页面

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tail -1000 access.log |awk '{print $7}'|sort|uniq -c|sort -nr|less

每秒请求量统计

统计每秒的请求数,top100的时间点(精确到秒)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
awk '{print $4}' access.log |cut -c 14-21|sort|uniq -c|sort -nr|head -n 100

每分钟请求量统计

统计每分钟的请求数,top100的时间点(精确到分钟)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
awk '{print $4}' access.log |cut -c 14-18|sort|uniq -c|sort -nr|head -n 100

每小时请求量统计

统计每小时的请求数,top100的时间点(精确到小时)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
awk '{print $4}' access.log |cut -c 14-15|sort|uniq -c|sort -nr|head -n 100

性能分析

在nginx log中最后一个字段加入$request_time 列出传输时间超过 3 秒的页面,显示前20条

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat access.log|awk '($NF > 3){print $7}'|sort -n|uniq -c|sort -nr|head -20

列出php页面请求时间超过3秒的页面,并统计其出现的次数,显示前100条

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cat access.log|awk '($NF > 1 &&  $7~/\.php/){print $7}'|sort -n|uniq -c|sort -nr|head -100

蜘蛛抓取统计

统计蜘蛛抓取次数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grep 'Baiduspider' access.log |wc -l

统计蜘蛛抓取404的次数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
grep 'Baiduspider' access.log |grep '404' | wc -l

TCP连接统计

查看当前TCP连接数

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
netstat -tan | grep "ESTABLISHED" | grep ":80" | wc -l

用tcpdump嗅探80端口的访问看看谁最高

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.04.03 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
效率提升10倍,推荐这些值得收藏的Shell!
整理了一些常用的web日志分析及Linux网络连接状态等shell命令,建议收藏!!!
李俊鹏
2021/03/18
7120
【IP相关统计】Nginx Access Log日志统计分析常用命令
阅读文本大概需要3分钟。 统计IP访问量 awk '{print $1}' access.log | sort -n | uniq | wc -l 查看某一时间段的IP访问量(4-5点) grep "07/Apr/2017:0[4-5]" access.log | awk '{print $1}' | sort | uniq -c| sort -nr | wc -l 查看访问最频繁的前100个IP awk '{print $1}' access.log | sort -n |uniq -c | sort
BUG弄潮儿
2020/06/12
3.4K0
Nginx状态监控及日志分析
【转载请注明出处】:https://cloud.tencent.com/developer/article/1636526
后端老鸟
2020/06/01
2.9K0
Nginx状态监控及日志分析
Linux 面试常考题总结大全【建议收藏】
stat命令一般用于查看文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详 细。
码农编程进阶笔记
2022/04/08
5360
Linux awk统计日志中出现过的IP(或出现次数最多的N个IP)
awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。
全栈程序员站长
2022/07/18
1.5K0
Linux awk统计日志中出现过的IP(或出现次数最多的N个IP)
awk在生产环境中高端应用
转自张sir的博客:http://freeze.blog.51cto.com/1846439/829728
保持热爱奔赴山海
2019/09/18
5230
Linux Shell命令速查表
使用 awk 从 Nginx 日志中逐行统计 URL 访问计数,然后使用 sort 对结果进行排名
憧憬博客
2020/08/31
7220
性能工具之linux常见日志统计分析命令
在上文中性能工具之linux三剑客awk、grep、sed详解,我们已经详细介绍 linux 三剑客的基本使用,接下来我们看看具体在性能测试领域的运用,本文主要介绍的是在 Tomcat 和 Nginx access日志的统计分析。
高楼Zee
2019/07/17
2.8K0
通过nginx日志统计一段时间内ip的访问次数进行排序&访问量统计
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/101789.html原文链接:https://javaforall.cn
全栈程序员站长
2022/06/29
2.1K0
网站每日PV/IP统计/总带宽/URL统计脚本分享(依据网站访问日志)
在平时的运维工作中,我们运维人员需要清楚自己网站每天的总访问量、总带宽、ip统计和url统计等。 虽然网站已经在服务商那里做了CDN加速,所以网站流量压力都在前方CDN层了 像每日PV,带宽,ip统计等数据也都可以在他们后台里查看到的。 ====================================================================== 通过下面的方法,可以快速根据子网掩码算出它的掩码位: 子网掩码 掩码位 255.255.255.0
洗尽了浮华
2018/01/22
1.6K0
网站每日PV/IP统计/总带宽/URL统计脚本分享(依据网站访问日志)
Web日志安全分析技巧
Web访问日志记录了Web服务器接收处理请求及运行时错误等各种原始信息。通过对WEB日志进行的安全分析,不仅可以帮助我们定位攻击者,还可以帮助我们还原攻击路径,找到网站存在的安全漏洞并进行修复。
Bypass
2019/07/08
1.2K0
Web日志安全分析技巧
30个高效的Linux命令技巧
# tar tf data.tar.gz #t是列出存档文件目录,f是指定存档文件
菲宇
2019/06/12
1.1K0
Linux 统计Web服务日志命令
本人在Linux运维中收集的一些通用的统计,Apache/Nginx服务器日志的命令组合。
王瑞MVP
2022/12/28
2.1K0
网站排障分析命令
系统连接状态篇: 1.查看TCP连接状态 netstat -nat|awk'{print$6}'|sort|uniq-c|sort-rnnetstat-n|awk'/^tcp/{print$NF}'|sort|uniq-c|sort-rnnetstat-ant|awk'{print$NF}'|grep-v'[a-z]'|sort|uniq-c 2.查找请求数请20个IP(常用于查找攻来源): netstat -anlp|grep80|greptcp|awk'{print$5}'|awk-F:'{print$1}'|sort|uniq-c|sort-nr|head-n20 netstat -ant|awk'/:80/{split($5,ip,":");++A[ip[1]]}END{for(iinA)printA[i],i}'|sort-rn|head-n20 3.用tcpdump嗅探80端口的访问看看谁最高 tcpdump -ieth0-tnndstport80-c1000|awk-F"."'{print$1"."$2"."$3"."$4}'|sort|uniq-c|sort-nr|head-20 6.根据端口列进程 netstat -ntlp|grep 80|awk'{print$7}'|cut-d/-f1 网站日志分析篇1(Apache): 1.获得访问前10位的ip地址 cat access.log|awk'{print$1}'|sort|uniq-c|sort-nr|head-10 cat access.log|awk'{counts[$(11)]+=1};END{for(urlincounts)printcounts[url],url}' 2.访问次数最多的文件或页面,取前20 cat access.log|awk'{print$11}'|sort|uniq-c|sort-nr|head-20 3.列出传输最大的几个exe文件(分析下载站的时候常用) cat access.log|awk'($7~/\.exe/){print$10""$1""$4""$7}'|sort-nr|head-20 4.列出输出大于200000byte(约200kb)的exe文件以及对应文件发生次数 cat access.log|awk'($10>200000&&$7~/\.exe/){print$7}'|sort-n|uniq-c|sort-nr|head-100 7.列出传输时间超过30秒的文件 cat access.log|awk'($NF>30){print$7}'|sort-n|uniq-c|sort-nr|head-20 8.统计网站流量(G) cat access.log|awk'{sum+=$10}END{printsum/1024/1024/1024}' 9.统计404的连接 awk'($9~/404/)'access.log|awk'{print$9,$7}'|sort 网站日分析2(Squid篇) 2.按域统计流量 zcat squid_access.log.tar.gz|awk'{print$10,$7}'|awk'BEGIN{FS="[/]"}{trfc[$4]+=$1}END{for(domainintrfc){printf"%s\t%d\n",domain,trfc[domain]}}' 数据库篇 1.查看数据库执行的sql /usr/sbin/tcpdump-ieth0-s0-l-w-dstport3306|strings|egrep-i'SELECT|UPDATE|DELETE|INSERT|SET|COMMIT|ROLLBACK|CREATE|DROP|ALTER|CALL'
DevinGeng
2019/04/09
3550
2015百度一道面试题引发的思考(shell脚本和网络)
原文    http://blog.csdn.net/chhuach2005/article/details/40044863
bear_fish
2018/09/14
7120
2015百度一道面试题引发的思考(shell脚本和网络)
常用APP等日志分割与nginx日志分析脚本合集
[核心命令: find命令去查找日志目录下含关键字的日志文件,然后利用for循环去删除\$cleanday之前的日志文件]
明哥的运维笔记
2019/01/30
6390
没想到,日志还能这么分析!
很多时候,我们观察程序是否如期运行,或者是否有错误,最直接的方式就是看运行日志,当然要想从日志快速查到我们想要的信息,前提是程序打印的日志要精炼、精准。
小林coding
2021/02/23
1.1K0
没想到,日志还能这么分析!
shell分析日志常用指令合集
  数据分析对于网站运营人员是个非常重要的技能,日志分析是其中的一个。日志分析可以用专门的工具进行分析,也可以用原生的shell脚本执行,下面就随ytkah看看shell分析日志常用指令有哪些吧。(log_file表示所在路径,完整的路径像这样:/www/var/***.log)
ytkah
2018/12/24
6290
运维必备技能 WEB 日志分析
文章节选自《Netkiller Monitoring 手札》 20.2. Web 20.2.1. Apache Log 1、查看当天有多少个IP访问: awk '{print $1}' log_file|sort|uniq|wc -l 2、查看某一个页面被访问的次数: grep "/index.php" log_file | wc -l 3、查看每一个IP访问了多少个页面: awk '{++S[$1]} END {for (a in S) print a,S[a]}' log_file 4、将每个IP
netkiller old
2018/03/05
2.3K0
nginx系列:常用利用shell统计日志
根据访问最多的URL来判断哪些业务比较繁忙;也跟根据情况判断是否该业务是否有黑客攻击。
BUG弄潮儿
2020/09/04
1.3K0
nginx系列:常用利用shell统计日志
相关推荐
效率提升10倍,推荐这些值得收藏的Shell!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验