程序功能
- 通过分析
nginx日志
,基于客户端IP
统计出流量
、请求数
和HTTP 状态码
输出结果
环境
- python3+
- 需要安装
python prettytable
- 目前只支持
nginx 日志
程序要求
Nginx日志格式要求:
- 第一个字段为
$remote_addr
- 第六个字段为
$status
- 第7个字段为
$body_bytes_sent
或者$bytes_sent
字段解释:
$remote_addr
:客户端的访问ipbody_bytes_sent
:发送给客户端的字节数,不包括响应头的大小bytes_sent
:发送给客户端的字节数$status
:http状态码
下面是例子:
1 | log_format main '$remote_addr - $remote_user [$time_local] "$request" ' |
运行方法
1 | # 基于客户端ip请求数排序,打印全部输出 |
程序不足的地方
nginx日志过大
,导致程序中字典过大
,就会占用服务器大量内存
。
程序代码
下面是 nginx_analysis_log3.py 部分代码,获取程序全部代码,请关注我的 YP小站
微信公众号并回复 nginx客户端IP分析
1 | #!/usr/bin/python3 |
---本文结束感谢您的阅读。微信扫描二维码,关注我的公众号---
本文作者:
Peng Yang
本文链接: https://www.yp14.cn/2019/11/26/Nginx-基于客户端IP分析/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
本文链接: https://www.yp14.cn/2019/11/26/Nginx-基于客户端IP分析/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!