zabbix系统中监控端口的key值中,有对tcpudp端口的监控,但是经过测试,UDP不支持windows系统,也就是说,我们无法通过系统自带的key值,无法对windowsudp端口进行监控,这样就需要我们自定义自己的UserParameter进行对windowsUDP端口进行监控。

windows系统中,我们查看udp端口的命令:

netstat -anp udp

Zabbix学习笔记(三十二)_监控

我们可以在zabbix的客户端写一个批处理脚本,来接收一个参数,对netstat命令的内容进行过滤,如果有输出,证明端口存在,若果没有输出,证明端口不存在。

test.bat脚本内容:

@echo off

 

netstat -anp udp |findstr %1 >/NUL 2>&1

 

if %errorlevel% == 0 (

 

echo "Running"

 

) else (

 

echo "No Running"

 

)

%1代表批处理执行接收的第一个参数。

 

修改zabbix客户端的配置文件,添加UserParameter=udp_test[*],"d:\test.bat"$1 $1zabbix创建key时输入的需要查询的端口号。udp_test[*]键值,可以带参数。

重启客户端的zabbix服务。

zabbix服务端创建监控项:

Zabbix学习笔记(三十二)_udp_02

Zabbix学习笔记(三十二)_udp_03

zabbix检测的最新数据中查看刚才新建的监控项,就会看到查看端口的状态。

Zabbix学习笔记(三十二)_tcp_04