天天看點

Zabbix5.0 監控Nginx一、開始之前二、Nginx啟用狀态統計子產品三、Zabbix前端頁面連結模闆

一、開始之前

本文内容是使用Zabbix 5.0自帶的Nginx Template進行的監控和圖形展示。監控之後,繪制出的Nginx運作時狀态的圖形如下:

Zabbix5.0 監控Nginx一、開始之前二、Nginx啟用狀态統計子產品三、Zabbix前端頁面連結模闆

二、Nginx啟用狀态統計子產品

狀态統計子產品“ngx_http_stub_status_module”需要在編譯Nginx時,使用“

--with-http_stub_status_module

”。使用以下指令判斷子產品是否可用:

# /usr/local/nginx/sbin/nginx -V 2>&1 | grep -o 'with-http_stub_status_module'
with-http_stub_status_module
           

配置Nginx,開啟統計:

# cat /usr/local/nginx/conf/nginx.conf
···
server {
···
    location = /nginx-status {
        stub_status;
        access_log off;
        allow 127.0.0.1;
        deny all;
    }
}
           

重新加載Nginx:

# /usr/local/nginx/sbin/nginx -t
# /usr/local/nginx/sbin/nginx -s reload
           

測試:

# curl http://127.0.0.1/nginx-status
Active connections: 5 
server accepts handled requests
 672 672 3416 
Reading: 0 Writing: 1 Waiting: 4
           

各字段的含義:

  • Active connections:目前活躍的用戶端連接配接數,包括Waiting連接配接數;
  • accepts:接受的用戶端連接配接總數;
  • handled:已處理的連接配接總數。通常與“accepts”的值相同,除非達到某些資源限制,如“worker_connections”;
  • requests:用戶端請求總數,一個用戶端連接配接可能包含多個請求;
  • Reading:Nginx正在讀取請求标頭的目前連接配接數;
  • Writing:Nginx正在将響應寫回給用戶端的目前連接配接數;
  • Waiting:目前等待請求的空閑連接配接數。

三、Zabbix前端頁面連結模闆

在Zabbix前端頁面,點選“Configuration” -> “Templates”,找到名稱為“Template App Nginx by Zabbix agent”的模闆。

該模闆定義了三個重要的參數:

  • {$NGINX.STUB_STATUS.HOST}

    :Nginx位址,預設值是“localhost”;
  • {$NGINX.STUB_STATUS.PATH}

    :狀态統計路徑,預設值是“basic_status”;
  • {$NGINX.STUB_STATUS.PORT}

    :Nginx端口,預設值是“80”。

如果需要更改某個參數的值,需要點選模闆名稱,選擇“Macros(宏)”,見下圖:

Zabbix5.0 監控Nginx一、開始之前二、Nginx啟用狀态統計子產品三、Zabbix前端頁面連結模闆

将該模闆連結到對應的Nginx伺服器上,等待采集資料即可。

注意事項:

  • 如果在Nginx配置檔案中,包含“server_tokens off;”,則該模闆無法正常擷取到Nginx版本号。

參考連結:https://www.zabbix.com/documentation/5.0/manual/config/templates_out_of_the_box/zabbix_agent

繼續閱讀