Nginx状态信息(status)配置及信息详解

    nginxphp-fpm一样内建了一个状态页,对于想了解nginx的状态以及监控nginx非常有帮助。为了后续的zabbix监控,我们需要先了解一下nginx的状态页。

Nginx状态信息(status)介绍

    Nginx软件在编译时又一个with-http_stub_status_module模块,这个模块功能是记录Nginx的基本访问状态信息,让使用者了解Nginx的工作状态。要想使用状态模块,在编译时必须增加--with-http_stub_status_module参数。

    可通过如下方法检测编译安装Nginx时是否设定上述模块支持:

[root@CentOS ~]# nginx -V

nginx version: nginx/1.12.0

built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)

built with OpenSSL 1.0.1e-fips 11 Feb 2013

TLS SNI support enabled

configure arguments: --user=nginx --group=nginx --prefix=/application/nginx-1.12.0/ --with-http_v2_module --with-http_ssl_module --with-http_sub_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre

配置Nginx status

具体配置过程如下:

1)生成状态配置,并增加状态配置参数

    操作如下:

[root@CentOS ~]# cat >>/application/nginx/conf/status.conf<<eof

server{

 

    listen 80;

    server_name status.czlun.com;

    location / {

        stub_status on;

        access_log off;

    }

}

eof

(2)用include语句导入到主配置文件

操作如下:

 

NUM=$(expr $(cat -n conf/nginx.conf | grep 'http {' |awk '{print $1}') + 1);sed -i 7i'\ \ \ \ include status.conf;' conf/nginx.conf

(3)重启服务

确认无误便可重启,操作如下:

nginx -t

#结果显示oksuccess没问题便可重启

nginx -s reload

Nginx status显示结果详解

    打开http://status.czlun.com会有如下所示的状态信息显示,可以用web工具获取这些数值:

Active connections: 3

server accepts handled requests

 8 8 67

Reading: 0 Writing: 1 Waiting: 2

Nginxs tatus结果含义:

Active connections: 3

表示Nginx正在处理的活动连接数3个。

 

server accepts handled requests

 8 8 67

第一个 server 表示Nginx启动到现在共处理了 8 个连接

第二个 accepts 表示Nginx启动到现在共成功创建 8 次握手

第三个 handled requests 表示总共处理了 67 次请求

请求丢失数 = 握手数 - 连接数 ,可以看出目前为止没有丢失请求

 

Reading: 0 Writing: 1 Waiting: 2

Reading:Nginx 读取到客户端的 Header 信息数

Writing:Nginx 返回给客户端 Header 信息数

Waiting:Nginx 已经处理完正在等候下一次请求指令的驻留链接(开启keep-alive的情况下,这个值等于 Active - (Reading+Writing)