龙叔NGINX:性能统计模块—http_stub_status_module

245 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。


ngx_http_stub_status_module 是一个 Nginx 的内置 模块,可以提供 Nginx 的一些简单指标统计信息。

不过默认情况下这个模块是不会被编译进来的,所以在编译 Nginx 时要指定加载该模块:--with-http_stub_status_module

1、安装

如果你已经安装了Ninx,可以“nginx -V”查看安装的时候是否编译安装了stub_status模块。

没有的话可以重新编译安装。

安装过程如下:

./configure --prefix=/usr/local/nginx --with-http_stub_status_module

make

make install

2、配置使用

nginx.conf配置文件中进行如下配置,就可以对指定的location进行相监控关指标采集展示:

         location /ngx_status {
             stub_status on;
             access_log off;
             # allow 127.0.0.1;
             # deny all;
         }

在浏览器访问“/ngx_status”,就可以得到 活动连接数 等连接相关的监控指标数据:

3、监控指标解析

【第一行】Active connections:活动连接数 等Nginx的连接情况

【第二三行】Server accepts handled requests:(三个数字分别代表)总共处理的连接数,成功握手的连接数量,处理的请求数(正常情况下握手和连接数是相等的,表示没有丢失)

【第四行】

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

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

Waiting: 开启keep-alive的情况下,这个值等于 active – (reading + writing),意思就是Nginx已经处理完成,正在等候下一次请求指令的驻留连接(在nginx开启了keep-alive,也就是长连接的情况下,客户端跟服务端建立了连接但是没有读写操作的空闲状态)

4、使用

【1】可以直接界面访问查看NG的监控情况

【2】可以结合开源工具使用:

a、zabbix,prometheus去采集nginx的统计信息,进行自定义监控

b、将zabbix,prometheus采集的指标数据用grafana进行展示,可以看到指标的长期趋势,在我们做Nginx调优,或者架构调整的时候,做数据支撑。