zabbix 自动发现端口并添加监控设置

自动发现端口并添加监控设置
UserParameter=net.listen.discovery,sudo /etc/zabbix/scripts/discovery_listport.sh

#!/bin/bash

Check=(`netstat -lntp|awk '/^tcp/{split($4,Port,":");split($7,Name,"[/:]");print Name[2]":"Port[length(Port)]}'|sort -u`)
if [ -z "$Check" ];then
        exit
else
        length=${#Check[@]}
fi

printf "{
"
printf  "	"data":["
for((i=0;i<$length;i++))
do
        Server=`echo ${Check[$i]}|cut -d: -f1`
        Port=`echo ${Check[$i]}|cut -d: -f2`
        printf "
		{"
        printf "
			"{#SERVERNAME}":"$Server","
        printf "
			"{#PORT}":"$Port"}"
        if [ $i -lt $(($length-1)) ];then
                printf ','
        fi
done
printf  "]}
"
discovery_listport.sh

主机→自动发现规则→创建发现规则

过滤器可选配置:
先创建正则表达式:管理→一般→(右侧下拉列表)→正则表达式


创建监控项原型

创建触发器原型

自动发现效果图如下:

需要注意:创建监控项原型(键值[]中的数值必须大写,否则会报错如下)
Cannot create item: item with the same key "*********" already exists
原文地址:https://www.cnblogs.com/Mrhuangrui/p/7205842.html