zabbix端口自发现并监控

脚本路径/etc/zabbix/zabbix_agentd.d/port_discover.sh
脚本内容:

#!/bin/bash
#因为netstat -p需要管理员权限,脚本是zabbix用户调用的,所以去掉了,但是效果是一样的
portarray=(`netstat -tnl|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]}\"}"
if [ $i -lt $[$length-1] ];then
printf ','
fi
done
printf "\n\t]\n"
printf "}\n"

修改zabbix-agent配置文件内容
vim /etc/zabbix/zabbix_agentd.conf

UserParameter=tcpportlisten,/etc/zabbix/zabbix_agentd.d/port_discover.sh  #键值和脚本路径
UnsafeUserParameters=1

重启zabbix-agent

systemctl restart zabbix-agent

配置zabbix-web

1、创建模板

1.png

2、创建自发现规则

注意,此处的键值和zabbix-agent配置文件配置的键值要一致


1.png

3、创建监控项原型

1.png

4、创建触发器类型

1.png

5、主机连接模板

1.png

6、成果展示

1.png

你可能感兴趣的:(zabbix端口自发现并监控)