安装环境:CentOS 7.3
软件版本:zabbix3.0
创建一个shell文件,写入以下内容,保存后将shell的权限设置成755
[root@120 ~]# vim /etc/zabbix/scripts/discovery_port.sh #!/bin/bash port_array=(`netstat -tnlp|egrep -i "$1"|grep -v "127.0.0.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" [root@120 ~]# chmod 755 /etc/zabbix/scripts/discovery_port.sh
在zabbix客户端的配置文件中添加以下内容:
[root@120 ~]# vim /etc/zabbix/zabbix_agentd.conf UserParameter=tcpportlisten[*],/opt/sygamer/files/shell/zabbix/discover_port.sh "$1"
登陆zabbix,点击Configuration –> Templates –> Create Template.配置相关信息
点击Discovery rules,配置自动发现规则,可根据自己的需要来监控进程所使用的TCP端口号
点击Item prototypes,配置端口发现的模板
点击Trigger prototypes,配置报警规则
编辑Template OS Linux模板,将tcp port discover模板链接到OS模板中,方便使用
到此,zabbix中TCP端口的自动发现并监控就配置完成了,下面是监控的效果图