Zabbix埠監控
阿新 • • 發佈:2018-12-19
zabbix-agent端操作
mkdir /etc/zabbix/script
cd /etc/zabbix/script
more port_alert.sh
#/bin/bash CONFIG_FILE=/etc/zabbix/script/port.conf Check(){ grep -vE '(^ *#|^$)' ${CONFIG_FILE} | grep -vE '^ *[0-9]+' &> /dev/null if [ $? -eq 0 ] then echo Error: ${CONFIG_FILE} Contains Invalid Port. exit 1 else portarray=($(grep -vE '(^ *#|^$)' ${CONFIG_FILE} | grep -E '^ *[0-9]+')) fi } PortDiscovery(){ 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" } port(){ Check PortDiscovery } port
我們只測試監控9099和7077埠
more port.conf
9099
7077
注意兩個指令碼屬主為zabbix:zabbix。
chown zabbix.zabbbix port.conf port_alert.sh
修改被監控端的zabbix_agent.conf配置檔案,新增KEY值port.alert
viw /etc/zabbix/zabbix_agentd.conf
UserParameter=port.alert,/etc/zabbix/script/port_alert.sh
重啟zabbix-agent
systemctl restart zabbix-agent
#zabbix-server端測試
zabbix_get -s 10.7.12.23 -k port.alert
測試成功,返回json格式的合法埠號
web端配置
新建模板,建立自動發現規則
新建自動發現規則:
鍵值必須和zabbix-agentd.conf編寫的key一致
自動發現清單中新建監控項原型:
下面鍵值選擇net.tcp.listen[port]稍作修改
自動發現清單中新建觸發器:
觸發器表示式專案要“選擇原型”
模板關聯主機:
檢視最新資料:
上面看到兩個埠最新資料都為“1”,說明每個埠都在監聽狀態,到此埠監控配置完畢。
反之如果程序掛掉埠監控就會報警,面板和微信都可以收到。