今天接到一個需求,要求給業務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!