目錄
1.3 編寫腳本 /server/scripts/nginx_status.sh
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