当前位置:首页 > 技术 > 正文内容

Nginx日志常用统计分析命令

醉清风2019-08-16技术5446

IP相关统计

统计IP访问量(独立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 -rn | head -n 100

查看访问100次以上的IP

awk '{print $1}' access.log | sort -n |uniq -c |awk '{if($1 >100) print $0}'|sort -rn

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

grep '127.0.01' access.log |awk '{print $7}'|sort |uniq -c |sort -rn |head -n 100

页面访问统计

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

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

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

grep -v ".php" access.log | awk '{print $7}' | sort |uniq -c | sort -rn | head -n 100

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

cat access.log | cut -d ' ' -f 7 | sort |uniq -c | awk '{if ($1 > 100) print $0}' | less

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

tail -1000 access.log |awk '{print $7}'|sort|uniq -c|sort -nr|less

每秒请求量统计

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

awk '{print $4}' access.log |cut -c 14-21|sort|uniq -c|sort -nr|head -n 100

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

awk '{print $4}' access.log |cut -c 14-18|sort|uniq -c|sort -nr|head -n 100

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

awk '{print $4}' access.log |cut -c 14-15|sort|uniq -c|sort -nr|head -n 100

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

cat access.log|awk '($NF > 3){print $7}'|sort -n|uniq -c|sort -nr|head -20

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

cat access.log|awk '($NF > 1 && $7~/\.php/){print $7}'|sort -n|uniq -c|sort -nr|head -100

蜘蛛抓取统计

统计蜘蛛抓取次数

grep 'Baiduspider' access.log |wc -l

统计蜘蛛抓取404的次数

grep 'Baiduspider' access.log |grep '404' | wc -l

TCP连接统计

查看当前TCP连接数

netstat -tan | grep "ESTABLISHED" | grep ":80" | wc -l

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

tcpdump -i eth0 -tnn dst port 80 -c 1000 | awk -F"." '{print $1"."$2"."$3"."$4}' | sort | uniq -c | sort -nr

某个日期时间段内每分钟请求数统计(显示前10条)

cat wap.access.log |sed -n  '/07\/Aug\/2018:10:00/,/07\/Aug\/2018:10:30/p'|more |awk '{print $4}'  |cut -c 14-18 | sort | uniq -c |sort -nr | head -n 10

某个日期时间段内每秒请求数统计(显示前10条)

cat wap.access.log |sed -n  '/07\/Aug\/2018:10:00/,/07\/Aug\/2018:10:30/p'|more |awk '{print $4}'  |cut -c 14-21 | sort | uniq -c |sort -nr | head -n 10
扫描二维码至手机访问

扫描二维码推送至手机访问。

版权声明:本文由红柚酱发布,如需转载请注明出处。

转载请注明出处:https://www.notenet.cn/post/71.html

标签: nginxlinux

相关文章

Ubuntu安装PHP

Ubuntu安装PHP

apt install python-software-properties -yapt install software-properties-co...

PHP图片上传程序(完整版)

PHP图片上传程序(完整版)

<meta http-equiv="Content-Type" content="text/html; charset=utf-8&q...

阿里云,腾讯云Linux服务器如何安装宝塔面板?

阿里云,腾讯云Linux服务器如何安装宝塔面板?

为什么要安装宝塔Linux面板呢,因为对于新手接触服务器来说,不知道到底该做什么,下载宝塔Linux面板的话,操作什么我们都一目了然了。宝塔安装前言环境要求Linux面板环境要求宝塔Linux面板支持...

Laravel5的数据库表建立问题 数据库迁移操作报错问题解决

Laravel5的数据库表建立问题 数据库迁移操作报错问题解决

执行迁移文件: php artisan migrate ; 数据库中就会看到如下报错:Migration table created successfully.In Connection.php li...

linux磁盘分区详解

linux磁盘分区详解

1.磁盘的分区主要分为基本分区(primary partion)和扩充分区(extension partion)两种,基本分区和扩充分区的数目之和不能大于四个。且基本分区可以马上被使用但不能再分区...