prometheus监控nginx
基于prometheus监控nginx实战
安装准备
-
nginx服务器:172.22.3.164: 参考:centos7.8安装nginx-1.19.6
-
prometheus主机已安装prometheus和grafnana : 参考:centos7.8安装prometheus和grafana实战
基于prometheus监控nginx可选两个exporter,一个是通过nginx_exporter主要是获取nginx-status中的内建的指标,nginx自身提供status信息,较为简单,promethues中对应的metrics也较少。另外一个是可以通过nginx-vts-exporter监控更多的指标,但nginx-vts-exporter依赖在编译nginx的时候添加nginx-module-vts模块来实现。vts提供了访问虚拟主机状态的信息,包含server,upstream以及cache的当前状态,显然指标会更丰富一些。本实践主要是介绍基于prometheus使用nginx-vts-exporter对nginx进行监控。
-
相关安装文件
-
nginx添加nginx-module-vts支持
-
修改nginx.conf
-
重启nginx后,访问http://172.22.3.164:10011/stub_status
安装nginx-vts-exporter
-
在nginx服务器安装nginx-vts-exporter
-
创建service
-
设置自动启动
配置nginx-vts-exporter监控
-
修改prometheus配置文件prometheus.yml,在scrape_configs下增加如下配置
-
新增/opt/prometheus/sd_config/docker-hosts.yml文件,内容如下
-
重启prometheus
浏览器地址栏输入 http://172.22.3.148:9090/targets
可以看到targets已经增加了对服务nginx-hosts的监控
-
在grafana中配置面板显示对主机nginx-hosts监控内容
点“+”按钮,弹出导入面板窗口
如图输入2949,点Load,grafana会直接从官方网站导入编号为2949的面板如下
选择数据源Prometheus,继续“Import”,显示nginx监控界面显示如下