天天看點

Nagios監控window主機

一、簡介

nagios不可以安裝在window環境中,但是可以監控window主機。

在nagios的libexec下有check_nt這個插件,它就是用來檢查windows機器的服務的,還需要搭配另外一個軟體NSClient,它則類似于NRPE。NSClient與nrpe最大的差別就是:

  • 被監控機上安裝有nrpe,并且還有插件,最終的監控是由這些插件來進行的.當監控主機将監控請求發給nrpe後,nrpe調用插件來完成監控。
  • NSClient則不同,被監控機上隻安裝NSClient,沒有任何的插件.當監控主機将監控請求發給NSClient後,NSClient直接完成監控,所有的監控是由NSClient完成的。

這也說明了NSClient的一個很大的問題,不靈活,沒有可擴充性.它隻能完成自己本身包含的監控操作,不能由一些插件來擴充.好在NSClient已經做的不錯了,基本上可以完全滿足我們的監控需要。

二、window 下安裝NClient++

1、從http://nsclient.org/nscp/downloads 下載下傳NClient++,我下載下傳的是NSClient++-0.3.9-Win32.zip 版本。

2、安裝NSClient 服務

将NSClient++-0.3.9-Win32.zip 解壓到D:\NSClient++目錄中

打開cmd,切換到D:\NSClient++目錄,執行 NSClient++  /install  進行安裝服務。執行nstray,此操作是安裝系統托盤。

在運作中輸入:services.msc 打開 服務,我們可以看到其中有NSClientpp 服務,輕按兩下打開,點“登入” 标簽,在“允許服務與桌面互動”前打勾。

三、window 下配置NClient++

1、修改配置檔案NSC.ini 的[modules]項

去掉所有項前面的注釋(除CheckWMI.dll)。

2、修改配置檔案NSC.ini 的[Settings]項

将"allowed_hosts"此行注釋,添加Nagios服務端IP,多個用逗号分隔,或者置為空允許所有。

3、修改配置檔案NSC.ini 的[log]項

file=nsclient.log

4、修改配置檔案NSC.ini 的[NSClient]]項

确認一下在[NSClient]段裡的'port'選項裡已經去掉注釋并設定成'12489'(預設端口)。

5、重新啟動該服務。

注意:nagios 要監控window主機,window主機的防火牆要開放12489端口(NSClient 中定義的端口)。在cmd裡面執行netstat -an | more,可以看到已經開始監聽tcp的12489端口了。此時要注意看看防火牆是否打開tcp的12489端口,否則nagios檢查此服務的時候會報socket逾時錯誤。是critical狀态。

控制台-> window 防火牆->進階設定->入站規則->建立規則。按照建立入站規則向導中的說明進行操作。

四、nagios 監控伺服器端配置

1、由于nagios 是子產品化調用,先到配置檔案中打開window相關子產品。

nano /usr/local/nagios/etc/nagios.cfg

cfg_file=/usr/local/nagios/etc/objects/windows.cfg  # 去掉這句的注釋

2、配置windows.cfg

define host{         use                   windows-server          host_name      winserver                                                           ;被監控主機名         alias                 My Windows Server              address          192.168.0.8                                                           ;被監控的windows位址

#把下面的host_name都改成winserver

define service{         use                                     generic-service         host_name                        winserver         service_description        CPU Load         check_command              check_nt!CPULOAD!-l 5,80,90              ;監控CPU使用         }

define service{         use                                     generic-service         host_name                       winserver         service_description        Memory Usage         check_command             check_nt!MEMUSE!-w 80 -c 90               ;監控記憶體         } ……………………………………

3、重新開機nagios 

service nagios start