43213 发表于 2015-11-12 09:16:38

用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:


六、结果展示:

页: [1]
查看完整版本: 用zabbix discovery功能自动发现服务器监听端口并增加端口监控