说明:zabbix2.0以上之持了discovery功能,该discover并不是之前的 Actions中的discoveryzabbix官方是通过该discovery自动来发现服务的分区、网卡等,这些不固定的因素监控。写了一个自动发现服务器listening端口的discovery脚本,这样就会定期扫描服务器上监听的端口,自动增加端口、删除端口的监控

 

 一、编写tcp监听端口的shell脚本:

vim discovertcpport.sh

 #!/bin/bash

 portarray=(`netstat -tnlp|egrep -i"$1"|awk {'print $4'}|awk -F':' '{if ($NF~/^[0-9]*$/) 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"

 

二、增加discoverykey:

 

 #vim /usr/local/zabbix/etc/zabbix_agentd.conf.d/tcpportdiscover.conf

 UserParameter=tcpportlisten[*],/usr/local/zabbix/etc/monitor_scripts/discovertcpport.sh"$1"

 


spacer.gif

spacer.gif

 

 

spacer.gif

 

 

spacer.gif