主机服务端口状态监控

尝试一:用zabbix自带的模版net.tcp.listen

直接新建监控项,这种方式是直接去读取/proc/net/tcp,但取不到端口状态

从主机侧查看端口是正常listen

原因是内核会频繁的写/proc/net/tcp这个文件,导致读取不正常

尝试二:通过在本机自定义脚本

#!/bin/sh
res=`/bin/netstat -an|grep $1|grep LISTEN|wc -l`
if [ "$res" -gt 0 ]
then
{  
  echo 1
}
else
{
  echo 0
}
fi

自动以key

UserParameter=jiankong,/etc/zabbix/scripts/netstat.sh 9170

重启agent后,通过在proxy端,用zabbix_get获取数据一直为0

且agent日志总是提示没有该脚本执行权限

脚本已给与755,在zabbix用户下面手动执行结果正常未1,且配置文件中已定义UnsafeUserParameters=1

尝试三:在proxy端自定义脚本

# cd /home/zabbix/zabbix-agent/etc/scripts
# cat check_port_status.sh
tcping -t 2  $1 $2 | awk '{print $4 }'|awk -F"." '{print $1}'

自定义key值

# cd /home/zabbix/zabbix-agent/etc/zabbix_agentd.conf.d
# cat port_check.conf 
UserParameter=port.check[*],/home/zabbix/zabbix-agent/etc/scripts/check_port_status.sh $1 $2

通过master端的zabbix_get执行获取结果正常

界面新增监控项,带入键值

port.check[192.168.12.12,9170]

监控成功

该方法可以通过一个脚本,监控任何主机的端口信息(只要网络能达)

猜你喜欢

转载自www.cnblogs.com/tonnytangy/p/10312717.html
今日推荐