在Linux/Ubuntu上监控Nginx实时指标
监控Web服务器对于了解网站上发生的情况至关重要。最近,我在寻找某种解决方案时,发现了一个名为ngxtop的工具,它可以帮助您监控各种指标,包括以下内容。
- 当前活跃请求
- 总请求数摘要
- 按status code (2xx, 3xx, 4xx, 5xx)分类的总请求数
- 平均发送字节数
- 前几个远程地址
在本文中,我将解释如何在Linux和Ubuntu操作系统上安装和使用ngxtop
。
以前,我使用过GoAccess Log Analyzer,发现ngxtop是一个轻量级且适合监控Nginx Web服务器指标的良好选择。
这假设您已经安装并运行了Nginx。如果没有安装,则可以参考我的installation guide。
关于ngxtop的简单介绍
ngxtop是一个基于Python的程序,您可以在Python上安装它。安装完成后,您可以执行ngxtop,并且您会注意到它看起来像Linux上的典型top输出,但其中包含了与Nginx相关的信息。
在CentOS/RHEL上安装ngxtop
首先,您需要安装PIP(Python软件包管理系统)。
执行以下操作…
- 使用root凭据登录服务器
- 通过安装以下软件包来启用EPEL软件仓库
yum install epel-release
现在,使用以下命令安装pip
yum install python-pip
最后,使用以下命令安装ngxtop
pip install ngxtop
如果使用的是CentOS/RHEL 8,则可以使用类似以下命令进行安装。
dnf install epel-release python2 python2-pip
pip2 install ngxtop
在Ubuntu上安装ngxtop
使用以下命令安装PIP
apt-get install python-pip
现在使用以下命令安装ngxtop
pip install ngxtop
安装很简单,不是吗?让我们看一些实时指标。
Nginx活动摘要
使用ngxtop命令查看请求计数、请求的URI以及状态码的请求数摘要。
提示:通过查看状态码为404的请求,您可以使用find a broken link。
检查顶级客户端的IP
查看向您的Nginx服务器发出大量请求的用户非常方便。
ngxtop top remote_addr
只显示具有404状态码的请求如何?
ngxtop -i 'status >= 404'
它不仅是实时的,而且可以通过解析访问日志进行离线分析。
要分析access.log,您可以使用:
ngxtop –l /path/access.log
另一个例子是解析来自Apache的离线access.log。
ngxtop –f common –l /path/access.log
您可以使用多种组合来过滤出有意义的access.log数据。接下来,您可能想尝试一下Nginx Plus。