zabbix 3.4 直接 發現端口並作存活監控(帶服務名)
客戶端配置
1.腳本
[root@es1 home]# cat /home/port_service.sh
#!/bin/bash
#by Mr.lu
#su root
portarray=(`sudo -u root /usr/bin/netstat -tnlp|egrep -i "$1"|awk {‘print $4‘}|awk -F‘:‘ ‘{if ($NF~/^[0-9]*$/) print $NF}‘|sort|uniq`)
length=${#portarray[@]}
printf "{\n"
printf ‘\t‘"\"data\":["
for ((i=0;i<$length;i++))
do
printf ‘\n\t\t{‘
printf "\"{#TCP_PORT}\":\"${portarray[$i]}\","
printf "\"{#TCP_NAME}\":\"`sudo -u root /usr/bin/netstat -ntpl|awk ‘{if($4~/:‘${portarray[$i]}‘$/) print $7}‘|awk -F ‘/‘ ‘{print $2}‘|uniq|awk ‘{print $1}‘`\"}"
if [ $i -lt $[$length-1] ];then
printf ‘,‘
fi
done
printf "\n\t]\n"
printf "}\n"
2. zabbix agnet 配置文件
[root@es1 home]# cat /etc/zabbix/zabbix_agentd.d/port_service.conf
UnsafeUserParameters=1
UserParameter=tcpportlisten,/home/port_service.sh "$1"
3. 權限
/etc/sudoers
增加:
zabbix ALL = NOPASSWD: ALL
4.重啟zabbix-agent
服務端配置
1.增加模板(如增加到現有模板,直接點自動發現)
1.自動發現配置
註意:鍵值要與zabbix 客戶端配置一樣
2.監控原型
註意:變量名要與腳本裏一樣
3.報警
zabbix 3.4 直接 發現端口並作存活監控(帶服務名)