用zabbix discovery功能自動發現伺服器監聽埠並增加埠監控
說明:zabbix2.0以上之持了discovery功能,該discover並不是之前的 Actions中的discovery,zabbix官方是通過該discovery自動來發現服務的分區、網卡等,這些不固定的因素監控。寫了一個自動發現伺服器listening埠的discovery腳本,這樣就會定期掃描伺服器上監聽的埠,自動增加埠、刪除埠的監控
一、編寫tcp監聽埠的shell腳本:
vim discovertcpport.sh
#!/bin/bash
portarray=(`netstat -tnlp|egrep -i "$1"|awk {'print $4'}|awk -F':' '{if ($NF~/^*$/) print $NF}'|sort |uniq 2>/dev/null`)
length=${#portarray[@]}
printf "{\n"
printf '\t'"\"data\":["
for ((i=0;i<$length;i++))
do
printf '\n\t\t{'
printf "\"{#TCP_PORT}\":\"${portarray[$i]}\"}"
if [ $i -lt $[$length-1] ];then
printf ','
fi
done
printf "\n\t]\n"
printf "}\n"
二、增加discovery的key:
# vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/tcpportdiscover.conf
UserParameter=tcpportlisten[*],/usr/local/zabbix/etc/monitor_scripts/discovertcpport.sh "$1"
三、web端增加 DISCOVERY RULES:
四、創建discovery item:
五、創建discovery 埠的tigger:
六、結果展示:
《解決方案》
自定義的埠發現規則有點意思,配合下埠記錄和告警就更加完美了
《解決方案》
路過 學習 來了 百度
《解決方案》
www.baidu.com