nagios
壹. 新增 EPEL和RPMforge的Yum 儲存庫
由於Centos本身的儲存庫並無nagios,所以您需要新增 RPMforge的Yum 儲存庫
# rpm -Uvh http://download.fedora.redhat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm
# rpm -Uhv http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
貳. 安裝並設定Apache
您需要安裝 Apache並設定開機時自動啟動
參. 安裝並設定 nagios
(1) 安裝 nagios和plugins
# yum -y install nagios nagios-plugins nagios-plugins-setuid nagios-nrpe nagios_nsca
(2) 建立一個可以存取nagios網站的帳戶(nagiosadmin)與密碼
htpasswd -c /etc/nagios/passwd nagiosadmin
(其實這個密碼檔已存在)
(3) 檢查預設的nagios組態檔
nagios -v /etc/nagios/nagios.cfg
(4) 啟動 nagios和Apache
# service httpd start
# service nagios start
# chkconfig --level 2345 httpd on
#chkconfig --level 2345 nagios on
肆. 測試與確認安裝
使用瀏覽器輸入下列網址並輸入方才建立的帳戶和密碼:
http://主機名稱或IP/nagios/
可看到如下的畫面:
伍. 新增想要監控的 Windows 伺服器
若要使用nagios來家監控遠端的Windows電腦的資源耗用狀況和服務狀況,您需要執行下列七個步驟:
nagios 伺服器: (只需在第一次使用時設定)
(1) 啟用nagios的 Windows組態檔
(2) 編輯設定nagios 的windows組態檔 (/etc/nagios/objects/windows.cfg)
Windows 機器: (在每一部需要監控的Windows機器上執行)
(3) 在Windows 機器上安裝 NSClient++
(4) 修改 NSClient++ 服務
(5) 修改 NSC.ini 檔案
(6) 設定Windows防火牆開放連入的TCP連接埠12489或 nsclient++.exe程式的連入流量
(7) (重新)啟動 NSClient++ 服務
(1) 啟用nagios的 Windows組態檔 (只需在第一次使用時設定)
# vi /etc/nagios/nagios.cfg
移除下列一行開頭的 #字註解符號
#cfg_file=/etc/nagios/objects/windows.cfg
重新啟動 nagios
# service nagios restart
(2) 編輯設定nagios 的windows組態檔 (/etc/nagios/objects/windows.cfg)
# vi /etc/nagios/object/windows.cfg
(2.1)新增下列主機定義設定段
define host{
use windows-server
host_name PTP
alias P2P Server
address 192.168.2.57
}
您需要正確的修改主機名稱、別名與IP位址。
(2.2) 設定服務段以監控Windows 電腦的各項資源或服務使用狀況 (記得變更host_name為您的正確機器名稱)
下列服務段用以監控Windows的NSClient++的版本
define service{
use generic-service
host_name winserver
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}
下列服務段用以監控Windows的Uptime
define service{
use generic-service
host_name winserver
service_description Uptime
check_command check_nt!UPTIME
}
下列服務段用以監控CPU利用率,一旦五分鍾的CPU利用率超過80%則送出警告(Alert)警示,若超過90%則送出嚴重(Critical)警示
define service{
use generic-service
host_name winserver
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}
下列服務段用以監控記憶體的使用量,一旦記憶體耗用量超過80%則送出警告(Alert)警示,若超過90%則送出嚴重(Critical)警示
define service{
use generic-service
host_name winserver
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
}
下列服務段用以監控C磁碟空間的使用率,一旦偵測到磁碟空間耗用率超過80%則送出警告(Alert)警示,若超過90%則送出嚴重(Critical)警
示
define service{
use generic-service
host_name winserver
service_description C:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}
下列服務段用以監控WWW服務,一旦發現WWW無法提供服務時則送出嚴重(Critical)警示
define service{
use generic-service
host_name winserver
service_description W3SVC
check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
}
下列服務段用以監控Windows 的Explorer.exe處理程序,一旦發現Explorer不在正常執行狀態中,則送出嚴重(Critical)警示
define service{
use generic-service
host_name winserver
service_description Explorer
check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
}
(3) 在Windows 機器上安裝 NSClient++
接下來,您需要在所有需要監控的Windows電腦上下載並安裝 Windows Agent (nsclient++;有32位元和64位元二個版本)
(4) 修改 NSClient++ 服務
核選『允許服務與桌面互動』
(5) 修改 NSC.ini 檔案 (位於C:\Program Files\NSClient++目錄下)
(5.1)先檢查下列模組是否啟用 (取消前面的 ;註解符號)
[modules]
NRPEListener.dll NSClientListener.dll NSCAAgent.dll CheckWMI.dll FileLogger.dll CheckSystem.dll CheckDisk.dll CheckEventLog.dll CheckHelpers.dll
(5.2) 修改 NSC.INI檔案內[Settings]段內的 allowed_hosts,指向Nagios伺服器 (192.168.2.161)
allowed_hosts=192.168.2.161/255.255.255.0
(6) 設定Windows防火牆開放連入的TCP連接埠12489(nsclient)和5666(NRPE)或者直接開放 nsclient++.exe程式的所有連入流量
(6) (重新)啟動 NSClient++ 服務 (必要時還需要重新開機)