目录
一、定义自动发现脚本
[root@zabbixserver01 libexec]# cat /etc/zabbix/libexec/discovery_tcp_port.sh
#!/bin/bash
#收集数据
port_array=(` netstat -ntpl|egrep -i "$1"|awk {'print $4'}|awk -F':' '{if ($NF~/^[0-9]*$/) print $NF}'|sort|uniq`)
#统计数组中的元素数量
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@zabbixserver01 zabbix]# cat /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf
UserParameter=disc.tcp.port,/etc/zabbix/libexec/discovery_tcp_port.sh
#给相关文件权限
chmod u+s /bin/netstat
三、zabbix页面配置
四、测试添加httpd服务
被监控机器开启httpd后,zabbix页面自动发现80端口并监控。
如有问题请排查netstat权限、自定义文件权限、key键值对是否一致、server和agent服务重启。