一、簡介
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