今天接到一个需求,要求给业务windows机器添加端口监控,原因是今早的rsync的873端口宕了,导致rsync无法正常运行,没有及时发现;故提此需求
编写bat脚本用于收集windows-agent端的所有端口,该bat脚本放在zabbix目录即可。
#vim discovertcpport.bat(用于windows-agent主机)
@echo off echo { echo "data":[ for /F "tokens=2 delims= " %%i IN ('netstat -anp tcp^|find /i "LISTENING"') DO for /F "tokens=2 delims=:" %%j IN ("%%i") DO echo {"{#TCP_PORT}":"%%j"}, echo {"{#TCP_PORT}":"10050"} echo ] echo }
#egrep -v "#|^$" zabbix_agentd.win.conf | sed '/^s*$/d'; #这里主要是windows机器的zabbix-agent配置文件
LogFile=D:zabbix-agent4zabbix_agentd.log
Server=192.168.109.202
UnsafeUserParameters=1
UserParameter=tcpportlisten,D:zabbix-agent4discovertcpport.bat
#在windows终端测试能否收集端口信息
#在zabbix-server通过zabbix_get获取agent的所有端口信息
#在windows模板中创建一个自动发现规则,通过键值将windows的ganet端的所有端口都进行收集发现
添加监控项目,指定键值将发现收集到的端口调用
触发器类型
给自动发现的监控项添加触发器类型,不等于1的时候则告警
END!