Nagios監控Windows主機

1.介紹

本文用來說明如何監控Windows主機的本地服務和特性,包括:

內存佔用率

CPU負載

Disk利用率

服務狀態

運行進程

等等

2.概覽

Windows機器的監控私有服務需要在機器上安裝代理程序。代理將會在檢測插件與Nagios服務之間起網關代理作用。如果沒有在機器上安裝代理的話,Nagios將無法對Windows私有服務或屬性等進行監控。

在下面例子中,將在Windows機器上安裝NSClient++外部構件並使用check_nt插件檢測和與NSClient++構件進行通訊。

3.安裝步驟:

在用Nagios監控Windows機器的私有服務之前,需要先在機器上安裝代理程序。推薦使用NSClient++外部構件,它可以在http://nsclient.org/nscp/downloads找到。如下指令可以安裝一個基本的NSClient++外部構件,同時也配置好Nagios來監控Windows機器。

配置被監控端

1.http://nsclient.org/nscp/downloads站點下載最新穩定版的NSClient++軟件包(這裏以監控 WindowsServer2008R2 64位系統爲例:http://files.nsclient.org/0.3.x/NSClient%2B%2B-0.3.9-x64.zip);

2.展開軟件包到一個目錄下,如C:\NSClient++

3.打開一個命令行窗口並切換到C:\NSClient++目錄下;

4.用下面命令將NSClient++系統服務註冊到系統裏:

 nsclient++ /install

5.用下面命令安裝NSClient++系統托盤程序('SysTray'是大小寫敏感的)

 nsclient++ SysTray

6.打開服務管理器並確認NSClientpp服務可以在桌面交互(看一下服務管理器裏的'Log On'選項頁),如果沒有允許桌面交互,點一下里面的選擇項打開它。

wKiom1LGhkrTek_QAAC2zm_aLzM468.jpg

7.編輯NSC.INI文件(位於C:\NSClient++目錄)並做如下修改:

 去掉在[modules]段裏的列出模塊程序的註釋,除了CheckWMI.dllRemoteConfiguration.dll

 最好是修改一下在[Settings]段裏的'password'選項;

 去掉在[Settings]段裏的'allowed_hosts'選項註釋,把Nagios服務所在主機的IP加到這一行裏,或是置爲空,讓

 全部主機都可以聯入;

 確認一下在[NSClient]段裏的'port'選項裏已經去掉註釋並設置成'12489'(默認端口)

[log]項,debug=1file=nsclient.log

8.用下面命令啓動NSClient++服務:

 nsclient++ /start

9.如果安裝正確,一個新的圖標會出現在系統托盤裏,是個黃圈裏面有個黑色的'M'

10.在防火牆上將12489端口例外和開啓ICMP回顯功能。

配置監控端

1.定義命令

 vi /usr/local/nagios/etc/objects/commands.cfg

 增加下面的內容

 define command{

 command_name    check_nt

 command_line    $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -v $ARG1$ $ARG2$

 }

如果NSClient設置了連接需要密碼,則應寫成如下格式

$USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s PASSWORD -v $ARG1$ $ARG2$

2.增加監控項目

修改nagios.cfg

vim /usr/local/nagios/etc/nagios.cfg

添加這一行

cfg_dir=/usr/local/nagios/etc/servers

創建目錄

mkdir /usr/local/nagios/etc/servers

 複製默認windows.cfg內容

cp /usr/local/nagios/etc/objects/windows.cfg /usr/local/nagios/etc/servers/win1.cfg(監控第二臺是一樣的方法:cp /usr/local/nagios/etc/servers/win1.cfg /usr/local/nagios/etc/servers/win2.cfg

/usr/local/nagios/etc/servers/目錄下添加個組group.cfg,方便監控多臺windows主機(這裏先列舉監控兩臺windows主機)

cd /usr/local/nagios/etc/servers

 touch group.cfg

 vim group.cfg

wKioL1LGh8agIwPMAAApVxkt0l0857.jpg

#Windows機器加一個新的主機對象定義以便監控

vi /usr/local/nagios/etc/servers/win.cfg

define host{

use windows-server

host_name winserver

alias My Windows Server

address    192.168.1.2;監控客戶機的IP地址

}

define hostgroup{

hostgroup_name windows-servers

alias Windows Servers

};監控第二臺windows服務器的話此四行就不需要寫

#設定主要監控項目服務

#監控運行於Windows機器上的NSClient++外部構件的版本

define service{

use generic-service

host_name winserver

service_description    NSClient++ Version

check_command    check_nt!CLIENTVERSION

}

#定義以監控Windows機器的啓動後運行時間

define service{

use generic-service

host_name winserver

service_description    Uptime

check_command check_nt!UPTIME

}

#定義可監控Windows機器的CPU利用率,並在5分鐘CPU負荷高於90%時給出一個緊急警報或是高於80%時給出一個告警警報

define service{

use generic-service

host_name winserver

service_description     CPU Load

check_command    check_nt!CPULOAD!-l 5,80,90

}

#定義可監控Windows機器的內存佔用率,並在5分鐘內存佔用率高於90%時給出一個緊急警報或是高於80%時給出一個告警警報

define service{

use    generic-service

host_name    winserver

service_description    Memory Usage

check_command    check_nt!MEMUSE!-w 80 -c 90

}

#定義可監控Windows機器的C:盤的磁盤利用率,並在磁盤利用率高於90%時給出一個緊急警報或是高於80%時給出一個告警警報

define service{

use    generic-service

host_name    winserver

service_description    C:\ Drive Space

check_command    check_nt!USEDDISKSPACE!-l c -w 80 -c 90

}

#定義可監控Windows機器上的W3SVC服務狀態,並在W3SVC服務停止時給出一個緊急警報

define service{

use    generic-service

host_name    winserver

service_description    W3SVC

check_command    check_nt!SERVICESTATE!-d SHOWALL -lW3SVC

}

#定義可監控Windows機器上的Explorer.exe進程,並在進程沒有運行時給出一個緊急警報

define service{

use    generic-service

host_name    winserver

service_description    Explorer

check_command    check_nt!PROCSTATE!-d SHOWALL -lExplorer.exe

}

配置完成後,檢查nagios的配置文件是否正確

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

wKiom1LGiQSQjesXAAGIGgXJ1JA842.jpg

重啓nagios服務

service nagios restart

此時,就可以監控windows主機了,通過http查看

wKioL1LGiR_A-XaEAAMCHKYHyFk479.jpg






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章