1. 程式人生 > >zabbix監控nginx程序

zabbix監控nginx程序

確認nginx有沒有安裝模組

然後在主站點下新增(二級站點)

location /NginxStatus {
        stub_status on;
        access_log off;
        allow 127.0.0.1;
        deny all;
    }

其實就是根據上圖,得到以上資料,寫指令碼對其程序監控!!

根據站點的命令寫成監控指令碼(可以直接複製以下程式碼)

#!/bin/bash
# Description:zabbix監控nginx效能以及程序狀態
# Note:此指令碼需要配置在被監控端,否則ping檢測將會得到不符合預期的結果
HOST
="127.0.0.1" PORT="80" # 檢測nginx程序是否存在 case $1 in active) /usr/bin/curl "http://$HOST:$PORT/NginxStatus/" 2>/dev/null| grep 'Active' | awk '{print $NF}' ;; reading) /usr/bin/curl "http://$HOST:$PORT/NginxStatus/" 2>/dev/null| grep 'Reading' | awk '{print $2}' ;; writing)
/usr/bin/curl "http://$HOST:$PORT/NginxStatus/" 2>/dev/null| grep 'Writing' | awk '{print $4}' ;; waiting) /usr/bin/curl "http://$HOST:$PORT/NginxStatus/" 2>/dev/null| grep 'Waiting' | awk '{print $6}' ;; accepts) /usr/bin/curl "http://$HOST:$PORT/NginxStatus/" 2>/dev/null| awk NR==3
| awk '{print $1}' ;; handled) /usr/bin/curl "http://$HOST:$PORT/NginxStatus/" 2>/dev/null| awk NR==3 | awk '{print $2}' ;; requests) /usr/bin/curl "http://$HOST:$PORT/NginxStatus/" 2>/dev/null| awk NR==3 | awk '{print $3}' ;; *) echo "只能輸入nginx程序的狀態碼" esac

後面就是監控指令碼的問題了。監控指令碼過程省略,不會的網上搜索一下。。。。