Zabbix 結(jié)合 bat 腳本實(shí)現(xiàn)多個(gè)應(yīng)用程序狀態(tài)監(jiān)控的方法
場景模擬:
國內(nèi)有部分企業(yè)需要運(yùn)行某些窗口程序(即.exe)來支撐重要的業(yè)務(wù)運(yùn)作,一旦這些重要的窗口程序中斷了,那么就會造成巨大的經(jīng)濟(jì)損失或者影響工作效率,后果如此嚴(yán)重。所以想通過zabbix進(jìn)行多程序狀態(tài)的監(jiān)控,一旦這些重要的窗口程序中斷,里面產(chǎn)生告警,通知運(yùn)維人員去修復(fù)。
提前準(zhǔn)備好,兩個(gè)bat腳本,findexe.bat(把要監(jiān)控的exe程序做成自動發(fā)現(xiàn)),check_exe_status.bat(獲取監(jiān)控exe程序的狀態(tài))
第一步–準(zhǔn)備bat腳本:
findexe.bat腳本的內(nèi)容如下
@echo off setlocal enabledelayedexpansion set /a n=0 set /a n1=0 for %%i in (%*) do (set /a n+=1) @echo {"data":[ for %%a in (%*) do ( set /a n1+=1 @echo {"{#SERVERNAME}":"%%a" if !n1! neq !n! ( @echo }, ) else ( @echo } ) ) echo ]} check_exe_status.bat腳本內(nèi)容如下 @echo off tasklist|findstr ^%1 >/NUL 2>&1 if %errorlevel% == 0 ( echo "running" ) else ( echo "norunning" )
注意tasklist|findstr ^%1 >/NUL 2>&1這條命令是查詢監(jiān)控程序exe有沒有運(yùn)行的
第二步–制作監(jiān)控模板
點(diǎn)擊添加,創(chuàng)建模板
然后在剛才的check_exe_status模板中,創(chuàng)建自動發(fā)現(xiàn)規(guī)則
圖中鍵值名為findexe,鍵值里面的參數(shù)就是客戶要監(jiān)控的多個(gè)進(jìn)程,用雙引號括起來,中間用空格分割。
findexe[“firefox.exe chrome.exe xxxlll.exe”]
如果還有其他exe程序要監(jiān)控,只需要用空格分割,往后面填入即可。
接著在這個(gè)自動發(fā)現(xiàn)規(guī)則下,新建一個(gè)監(jiān)控項(xiàng)原型。
原型的{#SERVERNAME}的值是固定的有第一步的findexe.bat中定義。
第三步–配置zabbix_agent.conf的自定義鍵值
腳本路徑自定義,自定義鍵值要和模板的命名一致
重啟zabbix_agent
第四步–驗(yàn)證多個(gè)exe程序狀態(tài)
自動發(fā)現(xiàn)填入了三個(gè)exe程序名,其中xxxll.exe為不存在的exe,為了驗(yàn)證效果,現(xiàn)在把firefox.exe程序關(guān)掉,看一下他的最新數(shù)據(jù)是否會顯示成norunning。
驗(yàn)證成功。
到此這篇關(guān)于Zabbix 結(jié)合 bat 腳本實(shí)現(xiàn)多個(gè)應(yīng)用程序狀態(tài)監(jiān)控的方法的文章就介紹到這了,更多相關(guān)Zabbix結(jié)合 bat 腳本狀態(tài)監(jiān)控內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。