手把手教你如何通过zabbix批量监控windows机器的所有端口

今天接到一个需求,要求给业务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-agent4\zabbix_agentd.log
Server=192.168.109.202
UnsafeUserParameters=1
UserParameter=tcpportlisten,D:\zabbix-agent4\discovertcpport.bat

#在windows终端测试能否收集端口信息

#在zabbix-server通过zabbix_get获取agent的所有端口信息

#在windows模板中创建一个自动发现规则,通过键值将windows的ganet端的所有端口都进行收集发现

 

添加监控项目,指定键值将发现收集到的端口调用

 

 触发器类型

给自动发现的监控项添加触发器类型,不等于1的时候则告警

 

 END! 

posted @ 2020-04-20 18:27  Mr&Yu  阅读(1962)  评论(0编辑  收藏  举报