這裏用一臺Ubuntu12.04的系統當nagios服務器,還有一臺遠程windows主機來簡單介紹下。 php
nagios監控服務器端地址:192.168.0.20 ios
遠程windows主機地址(被監控端):192.168.0.81 c++
注: ip地址根據具體主機ip修改,並非固定的 web
介紹下原理圖:(這種監控模式是主動模式,是由nagios服務器端先發起的) apache
這裏簡單介紹下原理的意思: ubuntu
nagios監控服務器端經過執行check_nt這個腳本,而後穿過遠程windows主機的防火牆,和windows主機通訊。 vim
被監控客戶端要安裝NSClinet++這個軟件,這個服務開啓,會一直監聽12489端口。 windows
能夠在cmd命令行界面敲入netstat -an 能夠看到12489端口正在listening 安全
注:要想真正瞭解原理,能夠經過wireshark抓包分析。 服務器
下面就是具體配置過程:
nagios服務器端配置:
一 要在服務器端先裝一些包
apt-get install -y apache2 apache2是web服務器
apt-get install -y libapache2-mod-php5 顯示網頁用的
apt-get install –y build-essential 提供c/c++的編譯環境
apt-get install -y libgd2-xpm
apt-get install -y libgd2-xpm-dev GD庫是php處理圖形的擴展庫
apt-get install -y make (默認好像裝過了,編譯用的)
apt-get install -y libssl-dev 安全套接層協議層,基於WEB應用的安全協議
二 建立nagios用戶,nagcmd組
useradd -m nagios
密碼爲nagios
passwd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagcmd www-data
在debian/ubuntu上,www-data是默認運行web服務的用戶/組,通常在經過apt安裝web服務程序時生成。搭建web服務的文件夾/文件通常要設置成www-data的
三 下載nagios和nagios插件
建立一個目錄,用於存儲下載
mkdir -p ~/downloads
cd ~/downloads
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.2.3.tar.gz
解壓
tar xzf nagios-3.2.3.tar.gz
cd nagios-3.2.3
設置編譯參數,有興趣的話能夠打開configure這個腳本看看
./configure --with-command-group=nagcmd
編譯
make all
安裝 nagios初始化腳本,示例配置文件 設置外部命令目錄權限
make install-init
make install-config
make install-commandmode
安裝Nagios的Web配置文件在Apache的conf.d目錄
make install-webconf
建立一個 nagiosadmin的賬戶登陸到Nagios Web界面。記住你分配給這個賬戶的密碼-你會須要它htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
這個地方會讓你輸入密碼,待會登陸的時候有用(下面會提到)
注:若是還要添加更多的用戶,執行命令 htpasswd 就不須要選項 「-c」,不然就會覆蓋全部已經生成的行
從新啓動Apache使新的設置生效
/etc/init.d/apache2 reload
可能遇到的錯誤:
每次重啓apache2,都會出現如下錯誤提示:
Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
解決方法:
修改 httpd.conf 文件
vim /etc/apache2/httpd.conf
默認狀況下,這個是一個空文件,在文件中加入如下內容:
ServerName localhost
保存文件退出,再次重啓apache,錯誤提示沒有了。
cd ~/downloads
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.11.tar.gz
tar xzf nagios-plugins-1.4.11.tar.gz
cd nagios-plugins-1.4.11
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install
配置Nagios在系統啓動時自動啓動
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
驗證樣品Nagios配置文件
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
若是沒有錯誤,啓動Nagios。
/etc/init.d/nagios start
登陸到http://192.168.0.20/nagios/
192.168.0.20:nagios監控服務器地址
編輯主Nagios的配置文件
#cfg_file=/usr/local/nagios/etc/objects/windows.cfg
把前面註釋的#刪除掉
保存退出。
在 /usr/local/nagios/etc/objects/windows.cfg中
把address修改成192.168.0.81
define host{
use windows-server ; Inherit default values from a Windows server template (make sure you keep this line!)
host_name winserver //被監控的主機名 隨便取都ok
alias My Windows Server
address 192.168.0.81 //被監控的主機的ip
}
遠程windows主機配置:
在你能夠開始監測私人服務和Windows機器的屬性,你須要在這些機器上安裝代理。我建議使用NSClient + +的插件
下載最新的穩定版本的NSClient + +插件http://sourceforge.net/projects/nscplus
解壓縮NSClient + +文件到一個新的C:\ NSClient + +目錄
開命令提示符窗口並切換到C:\ NSClient + +目錄
註冊NSClient + +系統服務,使用下面的命令:
nsclient++ /install
安裝NSClient + +托盤用下面的命令(「系統托盤」是區分大小寫):
nsclient++ SysTray
打開服務管理器,使肯定的NSClientpp服務,容許與桌面交互(見「登陸」選項卡,在服務管理器)。若是不是已經容許與桌面交互,選中複選框以容許它。
個人電腦右鍵—管理—服務和應用程序---服務
右鍵屬性
編輯的NSC.INI的文件(位於C:\ NSClient + +目錄)並進行如下更改:
除了CheckWMI.dll和RemoteConfiguration.dll,取消註釋[模塊]部分中列出的全部模塊, (可選)須要經過改變「密碼」選項,在[設置]部分客戶的密碼。取消註釋「allowed_hosts」選項,在[設置]部分。Nagios服務器的IP地址加入到這一行,或留下空白,以容許全部主機鏈接。
請確保在「端口」選項[NSClient]部分註釋掉,並設置爲'12489'(默認端口)。
若是安裝得當,應該會出現一個新的圖標在系統托盤中。
nagios服務重啓
/etc/init.d/nagios restart