Nginx日志常用分析命令汇总
来源:互联网 发布:淘宝企业店铺扶持 编辑:程序博客网 时间:2024/06/05 17:20
一、概念
并发连接数
客户端向服务器发起请求,并建立了TCP连接。每秒钟服务器链接的总TCP数量,就是并发连接数。
请求数
请求数指的是客户端在建立完连接后,向http服务发出GET/POST/HEAD数据包。
拓展:服务器返回了请求结果后有两种情况:
http数据包头包含Close字样,关闭本次TCP连接;
http数据包头包含Keep-Alive字样,本次连接不关闭,可继续通过该连接继续向http服务发 送请求,用于减少TCP并发连接数。
PV(page view)
访问量,即页面浏览量或者点击量,用户每次对网站的访问均被记录1次。用户对同一页面的多次访问,访问量值累计
UV(unique visitor)
独立访客量。将每个独立设备(以cookie为依据)视为一位访客,一天之内(00:00-24:00)的访客数量。一天之内相同cookie的访问只被计算1次。
独立IP
00:00-24:00内相同IP地址只被计算一次
注:关于并发连接数、请求数、并发用户数的概念参考日志/archives/1002399
二、Nginx配置
版本
nginx version: nginx/
日志配置项
access_log /var/log/ access;
日志格式
log_format access '$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 |awk '{print $1}'
2、独立IP数
awk '{print $1}' |sort |uniq |wc -l
3、每秒客户端请求数 TOP5
awk -F'[ []' '{print $5}' |sort|uniq -c|sort -rn|head -5
4、访问最频繁IP Top5
awk '{print $1}' |sort |uniq -c | sort -rn |head -5
5、访问最频繁的URL TOP5
awk '{print $7}' |sort |uniq -c | sort -rn |head -5
6、响应大于10秒的URL TOP5
awk '{if ($12 > 10){print $7}}' |sort|uniq -c|sort -rn |head -5
7、HTTP状态码(非200)统计 Top5
awk '{if ($13 != 200){print $13}}' |sort|uniq -c|sort -rn|head -5
8、分析请求数大于50000的源IP的行为
awk '{print $1}' |sort |uniq -c |sort -rn|awk '{if ($1 > 50000){print $2}}' > for i in $(cat )do echo $i >> echo "访问行为统计" >> grep $i |awk '{print $6}' |sort |uniq -c | sort -rn |head -5 >> echo "访问接口统计" >> grep $i |awk '{print $7}' |sort |uniq -c | sort -rn |head -5 >> echo -e "\n" >> /root/analysis/$done
注:如果源IP来自代理服务器,应将第一条命令过滤地址改为$http_x_forwarded_for地址
awk '{print $NF}' |sort |uniq -c |sort -rn|awk '{if ($1 > 50000){print $2}}' >
四、延伸
Nginx日志按日切割后可使用上述命令得出每日网站流量分析概况,然后可以写一个Python脚本读取后发送。也可以将数据导入MySQL然后使用Python绘制曲线。当然使用日志分析系统,如ELK,效果更佳。
- Nginx日志常用分析命令汇总
- Nginx日志常用分析命令汇总
- 常用linux命令总结(二)nginx日志分析命令
- Nginx访问日志分析命令
- 常用分析日志shell命令
- Linux日志分析常用语句汇总
- nginx之基础命令(日志分析)
- Nginx access.log日志分析shell命令
- Nginx access.log日志分析shell命令
- Apache日志分析常用Shell命令
- LINUX常用的日志分析命令
- 常用服务器日志分析命令大全(一)
- 常用服务器日志分析命令大全(二)
- 常用服务器日志分析命令大全
- 常用服务器日志分析命令大全
- NGINX日志统计命令
- awk分析nginx日志
- nginx错误日志分析
- git常用命令小总结 无解释
- android中的ellipsize
- 最快的哈希算法
- 工具类文件上传与下载代码
- HTTP传输编码
- Nginx日志常用分析命令汇总
- 64 位CentOS 6.7 安装gcc V4.4.7的操作步骤 以及配套所需的rpm格式安装包
- 使用Linux 安装MySQL
- 2016个人总结
- 计算机网络 第一章 概述
- Mybatis与spring的融合
- haproxy配置详尽参数说明(转载以便查询)
- Installation error: INSTALL_FAILED_VERSION_DOWNGRADE
- Android手把手实战APP首页 下拉刷新 自动加载