下面的指南将教你如何安装和使用 ngxtop。 本软件是一款免费、开源、灵活、实时的 Nginx 网络服务器监控工具。 它的工作原理是程序解析 Nginx 访问日志并打印有关请求计数、URI 和状态代码等顶级功能的信息。 这是系统管理员或高级用户的最爱,他们想要一个轻量级工具来监控对他们的 Nginx Web 服务器的请求。

必要条件

  • Ubuntu Server 20.04或以上版本。
  • Nginx服务器更新到稳定或主线。
  • Root访问权限或具有sudo权限的帐户。
  • 更新到最新的系统。
  • 已安装Python 3和PIP 3。

linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update && sudo apt upgrade -y
linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install python3 python3-pip

ngxtop 的安装

安装 python 和 pip 后,我们现在可以继续安装 ngxtop。 输入以下命令。

linuxmi@linuxmi:~/www.linuxmi.com$ pip3 install ngxtop
Collecting ngxtop
Downloading ngxtop-0.0.3-py2.py3-none-any.whl (11 kB)
Collecting docopt
Downloading docopt-0.6.2.tar.gz (25 kB)
Requirement already satisfied: pyparsing in /usr/lib/python3/dist-packages (from ngxtop) (2.4.6)
Collecting tabulate
Downloading tabulate-0.8.9-py3-none-any.whl (25 kB)
Building wheels for collected packages: docopt
Building wheel for docopt (setup.py) … done
Created wheel for docopt: filename=docopt-0.6.2-py2.py3-none-any.whl size=13704 sha256=e4e951599acce8f67d071eb659a1f5e65c2c016a4e3dce3b0f62038b63f74a70
Stored in directory: /home/linuxmi/.cache/pip/wheels/56/ea/58/ead137b087d9e326852a851351d1debf4ada529b6ac0ec4e8c
Successfully built docopt
Installing collected packages: docopt, tabulate, ngxtop
Successfully installed docopt-0.6.2 ngxtop-0.0.3 tabulate-0.8.9

安装后,确认版本。

linuxmi@linuxmi:~/www.linuxmi.com$ ngxtop –version

示例输出:

xstat 0.1

如何在Ubuntu 20.04上安装和使用ngxtop_python

如何使用 ngxtop

现在,不带任何参数运行 ngxtop 命令将显示请求计数的摘要、请求的 URI、状态代码的请求数。

linuxmi@linuxmi:~/www.linuxmi.com$ ngxtop

输出如下:

如何在Ubuntu 20.04上安装和使用ngxtop_nginx_02

接下来,如果您想查看到 Nginx 服务器的top远程连接列表,请键入以下内容。

linuxmi@linuxmi:~/www.linuxmi.com$ ngxtop top remote_addr

输出如下:

如何在Ubuntu 20.04上安装和使用ngxtop_linux_03

如果你想看到4xx或5xx响应和HTTP参考附件,你可以输入以下命令:

linuxmi@linuxmi:~/www.linuxmi.com$ ngxtop -i ‘status >= 400’ print request status http_referer

输出如下:

如何在Ubuntu 20.04上安装和使用ngxtop_nginx_04

这些只是一些例子。 可以在下面找到完整的组合列表。

用法:
ngxtop 选项
ngxtop 信息

选项:
-l , –access-log 要解析的访问日志文件。
-f , –log-format 日志格式,如 log_format 指令中指定的那样。
–no-follow ngxtop 默认行为是忽略日志中的当前行
并且只在新行写入访问日志时注意它们。
使用此标志告诉 ngxtop 处理访问日志的当前内容。

-t , –interval 在跟随模式下运行时报告间隔 [默认值:2.0]
-g , –group-by 按变量分组 [默认:request_path]
-w ,–have 子句 [默认:1]
-o , –order-by 默认查询的输出顺序 [默认:计数]
-n , –limit 限制 top 命令的报告中包含的记录数 [默认值:10]
-a …, –a … 将 exp(必须是聚合 exp:sum、avg、min、max 等)添加到输出中
-v, –verbose 更详细的输出
-d, –debug 打印每一行和解析的记录
-h, –help 打印此帮助消息。
–version 打印版本信息。

高级/实验选项:
-c , –config 允许 ngxtop 解析 nginx 配置文件的日志格式和位置。
-i , –filter filter in, 满足给定表达式的记录被处理。
-p , –pre-filter in-filter 表达式以检查预解析阶段。

如何在Ubuntu 20.04上安装和使用ngxtop_python_05

总结

您已经学习了如何在 Ubuntu(一个操作系统)上为您的 Nginx 服务器安装 ngxtop。 请注意,这是用于从日志中搜索特定统计信息的轻量级、快速和干净的基本监控。