程序简介
- 通过分析
nginx日志
,统计出nginx流量
(统计nginx日志中 $body_bytes_sent 字段),能自定义时间间隔
,默认时间间隔为5分钟
,单位为分钟
。
输出结果
开始时间 | 结束时间 | 分割线 | 统计流量 |
---|---|---|---|
2019-11-23 03:26:00 | 2019-11-23 04:26:00 | <=========> | 2.04M |
2019-11-23 04:27:43 | 2019-11-23 05:27:43 | <=========> | 895.05K |
2019-11-23 05:28:25 | 2019-11-23 06:28:25 | <=========> | 1.88M |
2019-11-23 06:33:08 | 2019-11-23 07:33:08 | <=========> | 1.29M |
2019-11-23 07:37:28 | 2019-11-23 08:37:28 | <=========> | 1.16M |
环境
- python3+
- 需要安装
python argparse
- 目前只支持
nginx 日志
程序要求
nginx日志格式要求,第四个字段为
[$time_local]
和 第7个字段为$body_bytes_sent
或者$bytes_sent
1
2
3
4log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent $request_time "$http_referer" '
'$host DIRECT/$upstream_addr $upstream_http_content_type '
'"$http_user_agent" "$http_x_forwarded_for"';body_bytes_sent
:发送给客户端的字节数,不包括响应头的大小bytes_sent
:发送给客户端的字节数- 注意:nginx日志中间不能有空行,否则程序读取不到空行后面的日志
例子
1 | # 分析 nginx access.log 日志,以 1小时 切割,统计每小时产生的流量 |
程序代码
下面是 nginx_large_file_flow_analysis3.py 部分代码,获取程序全部代码,请关注我的 YP小站
微信公众号并回复 nginx流量统计
1 | #!/usr/bin/python3 |
---本文结束感谢您的阅读。微信扫描二维码,关注我的公众号---
本文作者:
Peng Yang
本文链接: https://www.yp14.cn/2019/11/23/Nginx-流量统计分析/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!
本文链接: https://www.yp14.cn/2019/11/23/Nginx-流量统计分析/
版权声明: 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。转载请注明出处!