ngxtop:在命令行下实时监控 Nginx

Nginx网站服务器在生产环境中运行的时候需要进行实时监控。实际上,诸如Nagios, Zabbix, Munin 的网络监控软件是支持 Nginx 监控的。

如果你不需要以上软件提供的综合性报告或者长期数据统计功能,只是需要一种快速简便的办法去监控 Nginx 服务器的请求的话,我建议你采用一个叫 ngxtop 的命令行工具。

你马上就会发现 ngxtop 从界面和名称都借鉴了著名的top命令。ngxtop 是通过分析 Nginx 或者其他的日志文件,使用类似 top 命令的界面实时展示出来的。你可以说你知道的其他高端监控工具,但是在简洁这方面 ngxtop 无疑是最好的。简单就意味着不可替代。

本指南中,我将介绍如何使用 ngxtop 实时监控 Nginx 网站服务器。

ngxtop: 实时监视 Nginx

CentOS 6.2实战部署Nginx+MySQL+PHP

使用Nginx搭建WEB服务器

搭建基于Linux6.3+Nginx1.2+PHP5+MySQL5.5的Web服务器全过程

CentOS 6.3下Nginx性能调优

CentOS 6.3下配置Nginx加载ngx_pagespeed模块

CentOS 6.4安装配置Nginx+Pcre+php-fpm

Nginx搭建视频点播服务器(仿真专业流媒体软件)

Linux 上安装 ngxtop

首先在 Linux 系统中安装依赖库pip(LCTT译注:ngxtop是用python编写的)。

然后使用如下命令安装 ngxtop。

$ sudo pip install ngxtop

ngxtop 使用

基本使用方法如下:

ngxtop [options]

ngxtop [options](print|top|avg|sum)<var>

ngxtop info

这里是一些通用选项。

-l : 指定日志文件的完整路径 (Nginx 或 Apache2)

-f : 日志格式

--no-follow: 处理当前已经写入的日志文件,而不是实时处理新添加到日志文件的日志

-t : 更新频率

-n : 显示行号

-o : 排序规则(默认是访问计数)

-a ..., --a ...: 添加表达式(一般是聚合表达式如: sum, avg, min, max 等)到输出中。

-v: 输出详细信息

-i : 只处理符合规则的记录

以下是一些内置变量,他们的含义不言自明。

bodybytessend

http_referer

httpuseragent

remote_addr

remote_user

request

status

time_local

使用 ngxtop 监控 Nginx

ngxtop 默认会从其配置文件 (/etc/nginx/nginx.conf) 中查找 Nginx 日志的地址。所以,监控 Nginx ,运行以下命令即可:

$ ngxtop

这将会列出10个 Nginx 服务,按请求数量排序。

显示前20个最频繁的请求:

$ ngxtop -n 20

ngxtop:在命令行下实时监控 Nginx

获取Nginx基本信息:

$ ngxtop info

ngxtop:在命令行下实时监控 Nginx

你可以自定义显示的变量,简单列出需要显示的变量。使用 "print" 命令显示自定义请求。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/0bf3d0282cfa4dfe1e7ed778c64ade15.html