Nginx总结(十)如何监控Nginx的运行状态

2020-07-03 00:00:00 配置 模块 状态 查看 监控

前面讲了如何配置Nginx虚拟主机,今天简单介绍下如何监控Nginx的状态。实际环境中,查看Nginx 的运行状态,一般都是通过Nginx 的日志来查看,但是通过日志没办法实时查看Nginx 总体的请求和接收情况。还是需要监控Nginx的运行状态。

其实要监控Nginx的状态非常简单,它内建了一个状态页,只需修改Nginx配置启用Status即可,对于想了解nginx的状态以及监控nginx非常有帮助。下面就来聊一聊如何监控Nginx的运行状态。



1、安装Status模块

Nginx 状态依赖 http_stub_status_module 模块, 一般源码安装可能打开相关模块。先使用命令查看是否已经安装这个模块:

nginx -V 2>&1 | grep -o with-http_stub_status_module

说明:V大写会显示版本号和模块等信息、v小写仅显示版本信息。


如果返回 with-http_stub_status_module,则说明该模块已被开放,而什么都不返回的话就是没有被开放。

如果已经安装,会在显示的信息中包含 --with-http_stub_status_module信息。如果没有此模块,需要重新安装,编译命令如下:

./configure –with-http_stub_status_module


2、 修改Nginx配置

打开http_stub_status_module模块之后,还需要修改 Nginx 配置文件,在默认主机里面加上 location 或者你希望能访问到的主机里面加上如下配置:

location /status {    stub_status            on;    access_log             off;    allow 127.0.0.1;    deny all;    #auth_basic              "NginxStatus";    #auth_basic_user_file  conf/nginxstaus;}

此处默认只有本地访问,如果远程可以查看需要加相关的IP或者干脆去掉Deny all即可。

状态配置只能是针对某个Nginx服务。目前Nginx还无法做到针对单个站点进行监控。

配置文章后,重启你的nginx即可。


 

3、 打开Status页面

在浏览器中输入nginx的地址:http://127.0.0.1/status,即可查看nginx的状态信息:


4、Nginx status状态详解

在nginx 状态页面,可以看到几个数字,但是都是对应哪个参数呢?

Active connections – 活跃的连接数量

server accepts handled requests — 对应的是:连接数、成功创建的tcp握手、总请求数 三个参数。上面的示例说明:总共处理了7个连接 , 成功创建7次握手, 总共处理了36个请求。

reading — 读取客户端的连接数。

writing — 响应数据到客户端的数量。

waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接。


通过这七个参数,就可以从连接到请求全方位的监控起 Nginx 的运行状态。

 

以上,就把配置启用Nginx status状态介绍完了,是不是特别简单。

因为后面还要介绍Nginx 的优化,免不了查看Nginx的状态。所以这里就提前介绍下。下篇会介绍Nginx的高性能优化,怎么让Nginx服务器实现10w的并发访问量。

相关文章