基於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監控界面顯示如下
