Nginx日志实时分析利器(Ngxtop)

小柒博客
小柒博客
小柒博客
343
文章
96
评论
2019-09-1211:50:16 评论 26.1K 2067字阅读6分53秒

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

Nginx日志实时分析利器(Ngxtop)

Debian/Ubuntu:apt-get install python-pip

安装完pip就可以安装ngxtop

Nginx日志实时分析利器(Ngxtop)

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使用实例

实时监控日志

[root@localhost ~]# ngxtop -l /usr/local/nginx/logs/access.log

Nginx日志实时分析利器(Ngxtop)

日志分析

[root@localhost ~]# ngxtop -l /usr/local/nginx/logs/access.log --no-follow

Nginx日志实时分析利器(Ngxtop)

按rquest_path且是404的前10请求:

[root@localhost ~]# ngxtop -l /usr/local/nginx/logs/access.log --no-follow top request_path --filter 'status == 404'

按总bytes sent最高的前10:

[root@localhost ~]# ngxtop -l /usr/local/nginx/logs/access.log --no-follow --order-by 'avg(bytes_sent) * count'

按remote address进行排序前10:

[root@localhost ~]# ngxtop -l /usr/local/nginx/logs/access.log --no-follow --group-by remote_addr

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

[root@localhost ~]# 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:

[root@localhost ~]# ngxtop -l /usr/local/nginx/logs/access.log --no-follow avg bytes_sent --filter 'status == 200 and request_path.startswith("www")'

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

继续阅读
若文章图片、下载链接等信息出错,请在评论区留言反馈,博主将第一时间更新!如果喜欢本站,请打赏支持本站,谢谢!
  • 微信号
  • 微信扫一扫加我!
  • weinxin
  • 微信公众号
  • 微信扫一扫关注我!
  • weinxin
Nginx 最后更新:2020-5-11
小柒博客
  • 本文由 发表于 2019-09-1211:50:16
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
Nginx动态添加模块 Nginx

Nginx动态添加模块

说明: 有时我们需要在现有的web服务器上增加新的模块实现更为丰富的功能,Nginx算是比较常用的web服务器,但是nginx也不仅仅只可以做web服务器,只要有对应的插件还可用作反向代理、即时通讯...
Nginx配置用户名密码访问 Nginx

Nginx配置用户名密码访问

环境信息: 操作系统:CentOS 7.4 IP:192.168.0.111 如果我们在 Nginx 下搭建了一些站点,但是由于站点内容或者流量的关系,我们并不想让所有人都能正常访问...
Nginx服务器启用Status状态页面 Nginx

Nginx服务器启用Status状态页面

一、Nginx 服务器开启status页面检测服务状态 Nginx可以通过with-http_stub_status_module模块来监控Nginx服务器的状态信息。 1、通过nginx...
Nginx+fancy实现漂亮的索引目录 Nginx

Nginx+fancy实现漂亮的索引目录

ngx-fancyindex模块的简介 Nginx Web 服务器自带的目录浏览功能看起来并不是那么的美观,我们可以使用ngx-fancyindex插件来美化目录浏览功能。 Nginx不仅仅作为W...
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: