標籤:windows
nagios監控windows主機
一,編輯Nagios的主設定檔
vi /usr/local/nagios/etc/nagios.cfg
把下面這行最前面的#號去掉:
#cfg_file=/usr/local/nagios/etc/objects/windows.cfg
儲存設定檔並退出。
二,安裝Windows代理程式 NSClient++外部構件
1.從http://sourceforge.net/projects/nscplus網站下載最新穩定版的NSClient++軟體包;
2.解壓軟體包到一個目錄下,如C:\\\\\\\\NSClient++;
3.開啟一個命令列視窗並切換到C:\\\\\\\\NSClient++目錄下;
4.用下面命令將NSClient++系統服務註冊到系統裡:
nsclient++ /install
5.用下面命令安裝NSClient++系統托盤程式(‘SysTray‘是大小寫敏感的):
nsclient++ SysTray
6.開啟服務管理員並設定NSClientpp服務可以在案頭互動登陸
7.編輯NSC.INI檔案(位於C:\\\\\\\\NSClient++目錄)並做如下修改:
去掉在[modules]段裡的列出模組程式的注釋,除了CheckWMI.dll和RemoteConfiguration.dll;
最好是修改一下在[Settings]段裡的‘password‘選項;
去掉在[Settings]段裡的‘allowed_hosts‘選項注釋,把Nagios服務所在主機的IP加到這一行裡,或是置為空白,讓全部主機都可以聯入;
確認一下在[NSClient]段裡的‘port‘選項裡已經去掉注釋並設定成‘12489‘(預設連接埠);
8.用下面命令啟動NSClient++服務:
nsclient++ /start
三,
執行個體:監控Windows主機 IP 192.168.1.00
編輯Nagios的主設定檔
vi /usr/local/nagios/etc/nagios.cfg
新增
cfg_file=/usr/local/nagios/etc/objects/192.168.1.100.cfg
儲存退出!
新增檔案:/usr/local/nagios/etc/objects/192.168.1.100.cfg
vi 192.168.1.2.cfg
內容:
define host{
use windows-server
host_name winserver
alias local server
address 192.168.1.100
}
#監控運行於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 -l W3SVC
}
#加入下面的服務定義可監控Windows機器上的Explorer.exe進程,並在進程沒有運行時給出一個緊急警報。
define service{
use generic-service
host_name winserver
service_description Explorer
check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
}
#都好了,已經加好了基礎服務定義,可以監控Windows機器了,儲存一下設定檔。
四, 口令保護
如果想指定儲存在Windows機器上NSClient++設定檔裡的口令,可以修改check_nt命令定義,讓它帶著口令。
編輯方式開啟commands.cfg檔案。
vi /usr/local/nagios/etc/commands.cfg
修改check_nt命令的定義,帶上"-s "命令參數(這裡的PASSWORD 要換成你Windows機器的真正口令):
define command{
command_name check_nt
command_line $USER1$/check_nt -H $HOSTADDRESS$ -p 12489 -s PASSWORD -v $ARG1$ $ARG2$
}
本文出自 “月光疾風” 部落格,請務必保留此出處http://skykws8023.blog.51cto.com/4514277/1406957