Linux运维必备:命令行中实时监控 Nginx 神器,


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

必要条件

  •  Ubuntu Server 20.04或以上版本。
  •  Nginx服务器更新到稳定或主线。
  •  Root访问权限或具有sudo权限的帐户。
  •  更新到最新的系统。
  •  已安装Python 3和PIP 3。 
  1. linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt update && sudo apt upgrade -y  
  2. linuxmi@linuxmi:~/www.linuxmi.com$ sudo apt install python3 python3-pip 

ngxtop 的安装

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

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

安装后,确认版本。

  1. linuxmi@linuxmi:~/www.linuxmi.com$ ngxtop --version 

示例输出:

xstat 0.1

如何使用 ngxtop

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

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

输出如下:

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

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

输出如下:

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

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

输出如下:

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

用法:

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(一个操作系统)上为您的 Nginx 服务器安装 ngxtop。请注意,这是用于从日志中搜索特定统计信息的轻量级、快速和干净的基本监控。

相关内容