1、我们在使用Prometheus监控添加nginx节点监控的时候,在被监控节点的nginx配置文件中添加下面的模块

server {         listen 80;         server_name localhost;

        location /stub_status {             stub_status on;             access_log off;             allow 0.0.0.0/0;             deny all;         }

}

然后curl http://本机IP/stub_status

发现出来的并不是我们需要的nginx的服务器统计数据,通常是因为 stub_status 模块没有被正确启用或者是没有安装stub_status模块。

2、查看日志如下图所示

3、我们可以使用nginx -V来查看一下

通过上图我们可以发现,并没有stub_status 模块。

解决办法

#进入到Nginx 的源码目录下

cd /usr/local/nginx-1.24.0/   

# 下载新的nginx-module-vts

wget https://github.com/vozlt/nginx-module-vts/archive/refs/tags/v0.2.1.tar.gz

# 解压

tar -zxvf v0.2.1.tar.gz

#使用 ./configure 来配置编译 Nginx,包括一些常用的模块和选项

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-stream --add-module=nginx-module-vts-0.2.1 --without-http-cache  --with-http_realip_module --with-threads --with-http_secure_link_module --with-http_gzip_static_module --with-stream

# 编译 (这里只make,不要make install,不然会覆盖。如果是新装nginx,可以继续make install)

make

因为我是新装的nginx还没有在使用所以我make install 一下

重启nginx并查看是否添加--add-module=nginx-module-vts-0.2.1

如上图所示我们已经添加了--add-module=nginx-module-vts-0.2.1现在已经支持了stub_status

接下来我们可以在nginx的配置文件中添加stub_status模块来统计nginx的数据。

 server {         listen 80;         server_name localhost;

        location /stub_status {             stub_status on;             access_log off;             allow 0.0.0.0/0;             deny all;         }     }

保存退出后重新加载配置文件

nginx -s reload 

我们可以访问http://本机IP/stub_status来查看

完成

参考链接

评论可见,请评论后查看内容,谢谢!!!评论后请刷新页面。