linux運維之zabbix監控Windows服務器服務是否正常

Linux Windows 腳本語言 DNS 快樂滴人生 快樂滴人生 2017-09-08

前三篇文章分別介紹了:

linux運維之zabbix監控編譯安裝

linux運維之解決zabbix中文亂碼

linux運維之zabbix監控windows服務器


linux運維之zabbix監控Windows服務器服務是否正常

生產環境中需求監控windows的某個服務是否正常,不能侷限的只監控windows是否在線,如下是兩種方法。

第一種(簡單):通過key:service_state[service]監控

步驟,在zabbix服務端設置新建監控項,加入一個新建的監控項,如下範例監控DNS服務,主要添加

linux運維之zabbix監控Windows服務器服務是否正常

key:service_state[service]說明:

service_state[service]

State of service. 0 - running, 1 - paused, 2 - start pending, 3 - pause pending,

4 - continue pending, 5 - stop pending, 6 - stopped, 7 - unknown, 255 - no such service

返回0表示運行,返回6表示關閉,返回7表示未知,返回255表示沒有。

這裡有一個坑,如果是服務名字有空格,需要加雙引號才行

第二種:複雜,不過可以擴展幹其他。通過腳本監控

1.在windows主機上新建一個腳本,判斷服務是否在線,並向server發送值

腳本:

放在c:\chick.bat
@echo off
set srvname=%1
for /f "skip=3 tokens=4" %%i in ('sc query %srvname%') do set "zt=%%i" &goto :next
:next
if /i "%zt%"=="RUNNING" (
echo 1
) else (
echo 0
)

腳本說明:接收一個參數(服務名),判斷是否在線,在線返回1,否者返回0

修改windows agent的配置文件zabbix_agentd.win:

添加如下:如果是服務名中間有空格就加雙引號

UnsafeUserParameters=1
UserParameter=servicestate.dns,c:\chick.bat dns
UserParameter=servicestate.vss,c:\chick.bat vss

重啟windows zabbix agentd服務,然後在zabbix的服務端測試

linux運維之zabbix監控Windows服務器服務是否正常

測試正常後添加監控項和圖形,就能發現監控圖形

測試結果:

linux運維之zabbix監控Windows服務器服務是否正常

linux運維之zabbix監控Windows服務器服務是否正常

linux運維之zabbix監控Windows服務器服務是否正常

相關推薦

推薦中...