Nagios 利用NSClient++的check_nrpe方式使用自定義腳本監控windows


分類

NsClient++來監控windows主機有三種方式:check_nt、check_nrpe、nsca。check_nt自帶很多功能,但是擴展性差,check_nrpe可以通過執行自己定義的腳本做到很好地擴展(官方推薦)。

原理

監控端通過check_nrpe把要監控的指令發送給被監控端,被監控端在本機執行監控任務,並把執行的結果發送回被監控端。

實現

以NSClient++0.3為例,示例的功能是監控某個進程是否運行。

1. 編輯NSClient配置文件NSC.ini,去掉以下幾行前面的“;”號(去掉注釋,使其生效)

NRPEListener.dll
script_dir=scripts\
CheckExternalScripts.dll

2. 在NSClient安裝目錄下的scripts文件夾下,新建一個check_run.bat批處理文件,如下  

文件名:check_run.bat

@echo off
tasklist |find "%1" >NUL
IF ERRORLEVEL 1 GOTO err
IF ERRORLEVEL 0 GOTO ok

:err
echo CRITICAL: Process does not exist
exit /B 1

:ok
echo OK: The process of normal
exit /B 0

3. 在NSC.ini文件中[External Scripts]下面添加如下行:

check_run=scripts\check_run.bat   chrome.exe

:是[External Scripts]而不是[External Script]

4. 重啟NSClinet

5. 可以在被監控端check_nrpe所在的目錄(CentOs默認的安裝目錄為:/usr/lib64/nagios/plugins/)

./check_nrpe -H hostip -c check_run

:-H后寫剛才腳本所在的機器,-c后寫命令,這里對應配置文件中的check_run

如果結果與預期的一致,那么就可以繼續配置監控端了

6. 配置監控端

修改commands.cfg

增加

define command{
        command_name    check_run
        command_line    /usr/lib64/nagios/plugins/check_nrpe -H yourip -c check_run
        }

修改windows.cfg

define service{
        use                     generic-service-urgent,srv-pnp
        host_name               youip   ;要展示信息的機器的ip
        service_description     check_fileexistspan
        check_command           check_run
        }

效果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM