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

Nginx日志实时分析利器(Ngxtop)分析请求次数及带宽占用情况

admin1年前 (2023-12-12)技术分享2596

Ngxtop实时解析nginx访问日志,并且将处理结果输出到终端,功能类似于系统命令top,所以这个软件起名ngxtop。有了ngxtop,你可以实时了解到当前nginx的访问状况,再也不需要tail日志看屏幕刷新。


一、安装ngxtop

由于ngxtop是python编写,我们采用pip安装,可能有些用户没有安装pip,下面我们一块加上pip的安装步骤:


pip安装

Fedora:yum -y install python-pip

CentOS/RHEL需先安装EPEL:yum -y install epel-release && yum -y install python-pip

Debian/Ubuntu:apt-get install python-pip

安装完pip就可以安装ngxtop

//安装 ngxtop
sudo pip install ngxtop
//启动
sudo ngxtop
//如果启动报错 sudo: ngxtop: command not found

ngxtop使用参数


ngxtop 参数 print|top|avg|sum

ngxtop info 显示日志格式信息


-l <file>或--access-log <file> 设置日志路径

-f <format>或--log-format <format> 设置日志格式,默认格式combined,另外一种较常用格式为common

--no-follow 处理以前的日志,实时日志不做处理

-t <seconds> 或 --interval <seconds> 刷新频率,默认2秒

-g <var>或 --group-by <var> 按变量分组,默认显示 request_path

-w <var>或 --having <expr> 筛选 [default: 1]

-o <var>或 --order-by <var> 输出的排序方式,默认: 访问数

-n <number>或 --limit <number> 显示top多条,默认前top 10条

-a <exp> ...或 --a <exp> ... 对输出字段做处理,可选 sum, avg, min, max

-v或 --verbose 详细输出

-d或 --debug debug模式,输出每行及记录

-h或 --help 显示帮助详细

--version 显示版本信息


高级参数


-c <file>或 --config <file> 指定nginx配置文件,自动分析日志格式

-i <filter-expression>或 --filter <filter-expression> 满足表达式的过滤将被处理

-p <filter-expression>或 --pre-filter <filter-expression> in-filter expression to check in pre-parsing phase.

另外一些变量可以在分析时用到,名字含义同日志格式里的设置:remote_addr、remote_user、time_local、request、request_path、status、body_bytes_sent、http_referer、http_user_agent。


二、Ngxtop使用实例

实时监控日志

ngxtop -l /usr/local/nginx/logs/access.log

日志分析

ngxtop -l /usr/local/nginx/logs/access.log --no-follow

按rquest_path且是404的前10请求:

ngxtop -l /usr/local/nginx/logs/access.log --no-follow top request_path --filter 'status == 404'

按总bytes sent最高的前10:

ngxtop -l /usr/local/nginx/logs/access.log --no-follow --order-by 'avg(bytes_sent) * count'

按remote address进行排序前10:

ngxtop -l /usr/local/nginx/logs/access.log --no-follow --group-by remote_addr

显示400或更高返回状态码的且只显示request、status、http_referer这三列信息:

ngxtop -l /usr/local/nginx/logs/access.log --no-follow -i 'status >= 400' print request status http_referer

显示bytes_sent平均值且状态码为200且request_path以www开始的前10:

ngxtop -l /usr/local/nginx/logs/access.log --no-follow avg bytes_sent --filter 'status == 200 and request_path.startswith("www")'

关于 ngxtop 的更多用法,可通过 ngxtop -h 查询。

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

版权声明:本文由小刚刚技术博客发布,如需转载请注明出处。

本文链接:https://blog.bitefu.net/post/569.html

分享给朋友:

相关文章

微软版Ghost Win10:FFU映像备份和还原

微软版Ghost Win10:FFU映像备份和还原

在日常的维护中,系统的备份和还原是大家经常需要操作的事情。虽然Windows 10已经提供很多的工具,如系统还原、WIM备份/还原,VHD备份等。不过这些工具大多是基于文件的备份/还原。我们以前经常的使用的Ghost则是基于扇区的备份/还原...

超高性比的斐讯盒子T1,刷第三方YYF固件机教程超级详细版

超高性比的斐讯盒子T1,刷第三方YYF固件机教程超级详细版

家里面买了斐讯盒子T1,必不可少的就是刷机,刷机一直爽,一直刷机一直爽,这样的快乐一般人体会不到。原来斐讯盒子N1,T1,还有斐讯K2P路由器也变成了性价比超高的东东,而且众多大神也带来了超多可玩性非常高的固件和破解。楼主今天扒到了相关超高...

PHP AES加解密 (ECB模式/sha1prng算法/PKCS5Padding和PKCS7Padding补码) ECB 模式不需求设置 iv

php7+ 版本/**  * [AesSecurity aes加密,支持PHP7+]  * 算法模式:ECB  * 密钥长度:128  * 补...

Nginx服务崩溃自动重启脚本(监控进程服务并自动重启进程服务)脚本

有一台服务器运行着Ngin最近突然有一次崩溃,导致使用方当天无法访问网页端,然后我不得不登录服务器,检查各项服务,发现nginx崩溃了,于是重启Nginx,问题解决。后来为了防止Nginx再发生这种情况给运维带来的运维成本,于是写了一个脚本...

在CentOS 5.x 6.x里使用yum源 换阿里云国内源换vault.centos.org源

阿里云CentOS 5 的系统,无法用yum来安装应用软件。  原因:CentOS 5 在2017-03-31日已经结束支持,不再提供维护更新,所以包括阿里云镜像站的文件可能都是过时或已经有部分文件缺失。 &n...

抢先体验太阳谷!20H1、20H2、21H1替换“Dev版新图标”

尽量不要替换shell32.dll.mun和zipfldr.dll.mun,这两老哥可能会带来无法预测的风险!不解除被替换文件的硬链接,已确定会导致无法安装质量更新!(详见H大测评)单替换imageres.dll.mun新图标覆盖率基本可达...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。