zabbix 探索规则自带磁盘及网卡的,参照后整理探索端口并自动添加监控报警功能 :

shell脚本:

#!/bin/bash
port_array=(`netstat -tnlp|egrep -i "$1"|awk {'print $4'}|awk -F':' '{if ($NF~/^[0-9]*$/) print $NF}'|sort |uniq   2>/dev/null`)
length=${#port_array[@]}
printf "{\n"
printf  '\t'"\"data\":["
for ((i=0;i<$length;i++))
do
        printf '\n\t\t{'
        printf "\"{#TCP_PORT}\":\"${port_array[$i]}\"}"
        if [ $i -lt $[$length-1] ];then
                printf ','
        fi
done
printf  "\n\t]\n"
printf "}\n"

添加自定义key :

[root@VM_128_113_centos zabbix]# cat /etc/zabbix/zabbix_agentd.d/UserParameter.conf 
UserParameter=tcpportlisten,/etc/zabbix/bin/disc_port.sh "$1"
[root@VM_128_113_centos zabbix]#

key 测试:

wKiom1VxHqPz0ElXAAOTS247G8g040.jpg


wKiom1VwPlCC6KhAAAErDOcE9G0538.jpg

出值后检验json格式:

http://jsonlint.com/ 网站里输入格式内容检测

wKioL1VxHpywAZbrAAHkEJV83Jo798.jpg


在探索里添加


wKiom1VxGlaREAW3AANI7cpdzSs628.jpg


wKiom1VxGnCB_4eUAAMqYfo9leg614.jpg


wKioL1VxHCSjTgZJAATXcEkZcY0275.jpg


然后在主机的items里可以看到已自动添加了端口的项目:


wKioL1VxOYiB5zPtAAF0qE4hguw649.jpg


然后就可以在探索里添加触发器/图形进行报警操作了 o(∩_∩)o  !