最新Zabbix 4.0 監控Nginx狀態

目錄

最新Zabbix 4.0添加Nginx監控

1. 自定義監控nginx 的Key

1.2  測試訪問

1.3 編寫腳本 /server/scripts/nginx_status.sh

1.4 測試腳本

1.5 修改zabbix_agent.conf 配置

1.6 測試key是否可以採集到數據

2. 自定義Key的可視化操作

2.1 zabbix完成整個監控的流程

2.2 添加模板

2.3 創建Application

2.4 創建ITEMS

2.5 可視化創建圖形

2.6 最後,根據需求自行加trigger,設置報警即可,郵件報警可以參考如下文章:


最新Zabbix 4.0添加Nginx監控

1. 自定義監控nginx 的Key

1.1 添加nginx狀態監控

server {
        listen 80;
        server_name 124.**.**.**; # 這ip寫出來就暴露了哈;
        location /ngx_stat {
                stub_status on;
                access_log off;
        }
        location / {
                return 403;
        }

}

1.2  測試訪問

1.3 編寫腳本 /server/scripts/nginx_status.sh

#!/bin/bash
HOST="124.***.***.***"
PORT="80"
COMMAND="/usr/bin/curl -s"
DIR="ngx_stat"
check_ngx(){
    /sbin/pidof nginx | wc -l
}

active(){
    $COMMAND "http://$HOST:$PORT/${DIR}/" 2>/dev/null| grep 'Active' | awk '{print $NF}'
}
reading(){
    $COMMAND "http://$HOST:$PORT/${DIR}/" 2>/dev/null| grep 'Reading' | awk '{print $2}'
}
writing(){
    $COMMAND "http://$HOST:$PORT/${DIR}/" 2>/dev/null| grep 'Writing' | awk '{print $4}'
}
waiting(){
    $COMMAND "http://$HOST:$PORT/${DIR}/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'
}
accepts(){
    $COMMAND "http://$HOST:$PORT/${DIR}/" 2>/dev/null| awk NR==3 | awk '{print $1}'
}
handled(){
    $COMMAND "http://$HOST:$PORT/${DIR}/" 2>/dev/null| awk NR==3 | awk '{print $2}'
}
requests(){
    $COMMAND "http://$HOST:$PORT/${DIR}/" 2>/dev/null| awk NR==3 | awk '{print $3}'
}
usage(){
        echo -e "USAGE: $0 (ping|active|reading|writing|waiting|accept|handled|request)"
}
main(){
case $1 in
ping)
        check_ngx;;
active)
        active;;
reading)
        reading;;
writing)
        writing;;
waiting)
        waiting;;
accepts)
        accepts;;
handled)
        handled;;
requests)
        requests;;
*)
        usage;
esac
}
main $1

1.4 測試腳本

[root@linux-node2 scripts]# /server/scripts/ngx_status.sh active
89 

1.5 修改zabbix_agent.conf 配置

UnsafeUserParameters=1
echo 'UserParameter=nginx.status[*],/server/scripts/ngx_status.sh $1' >/etc/zabbix/zabbix_agentd.d/userparameter_nginx.conf

service zabbix-agent restart

1.6 測試key是否可以採集到數據

[root@linux-node1 ~]# zabbix_get -s 124.*.*.* -k nginx.status[ping]
1

 

2. 自定義Key的可視化操作

2.1 zabbix完成整個監控的流程

 Host group --> Hosts --> Applications --> Items --> Trigger --> Events --> Actions --> User groups --> Users --> Medias --> graph --> screen

2.2 添加模板

2.3 創建Application

2.4 創建ITEMS

zabbix產生的數據主要由四部分組成
    配置數據
    歷史數據:50字節
    歷史趨勢數據:128字節
    事件數據:130字節

2.5 可視化創建圖形

60秒後查看採集到的數據,也可以在last data中看到

2.6 最後,根據需求自行加trigger,設置報警即可,郵件報警可以參考如下文章:

zabbix 4.0 配置STMP使用SSL發送郵件報警:https://blog.csdn.net/csdn_changsha/article/details/103541397

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章