nginx-module-vts监控nginx
通过with-http_stub_status_module
或nginx-module-vts
监控nginx
https://juejin.cn/post/7119751560900378637#heading-6
前言:nginx
安装时推荐编译安装
一. nginx
编译两模块 (with-http_stub_status_module
监控的东西太少不推荐 )
nginx-module-vts
下载链接:
https://codeload.github.com/vozlt/nginx-module-vts/tar.gz/v0.1.18
编译安装nginx
:
https://gegewu12.github.io/2023/05/15/%E7%BC%96%E8%AF%91%E9%83%A8%E7%BD%B2nginx/
1
.首次安装nginx
编译(with-http_stub_status_module
模块)
查看是否已有模块
1 | # 查看是否已编译 |
编译安装
1 | cd /usr/local/src/${dir} && ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_slice_module --with-stream |
2.nginx
已安装但是没有编译nginx-module-vts
模块(推荐使用nginx-module-vts
监控nginx
)
nginx-module-vts
下载链接:
https://codeload.github.com/vozlt/nginx-module-vts/tar.gz/v0.1.18
nginx
下载链接:
http://nginx.org/download/nginx-1.16.1.tar.gz
如果是编译安装则直接将vts
模块解压到/usr/local/src/nginx-1.16.1
目录使用--add-module=/usr/local/src/nginx-1.16.1/nginx-module-vts-0.1.18
指定编译模块
如果是其他安装方式如apt
则需要下载与apt
安装方式相同版本nginx
安装包 解压到/usr/local/src/
目录再将vts
模块解压到/usr/local/src/nginx-1.16.1
目录使用--add-module=/usr/local/src/nginx-1.16.1/nginx-module-vts-0.1.18
指定编译模块
框内编译所有操作在/usr/local/src/nginx-1.16.1
目录执行
1 | # 下载nginx压缩包 |
此时编译成功!
make
完成截图
3. docker-compose
文件
二. 监控nginx with-http_stub_status_module
模块 ( 监控的东西太少不建议使用 )
1.
修改nginx
配置文件 server
模块部分 (/usr/local/nginx/conf/nginx.conf
)
1 | # 修改nginx配置文件 server模块部分 |
2.
此模块可搭配nginx-prometheus-exporter:latest
采集插件使用
1 | # docker run构建监控插件容器 |
3.
采用nginx-prometheus-exporter
采集插件prometheus.yml
配置
1 | # prometheus配置 |
4
采用telegraf
采集插件telegraf.conf
配置(此处需要写成实际IP
不能写为localhost
)
1 | [[inputs.nginx]] |
注:此处telegraf nginx-prometheus-exporter
选其一
三 nginx-module-vts
模块
1.
修改nginx
配置文件 server
模块部分 (/usr/local/nginx/conf/nginx.conf
)
1 | # http模块添加 |
2. prometheus.yml
配置监控
1 | # nginx 监控 |
四. 验证
1. with-http_stub_status_module
验证:
2. nginx-module-vts
验证 (grafana 14900 9785 15205
)
http://10.0.0.10/status