Nagios 是一款開源的免費網絡監視工具,致力于打造符合行業標準的 IT 基礎架構的監控系統。Nagios 提供了服務器、網絡和應用的完整的 IT 監控和報警,可以有效監控 Windows、Linux 和 Unix 的主機狀態,以及交換機、路由器、打印機等網絡設備。在系統或服務狀態異常時可以發出郵件或短信報警第一時間通知網站運維人員,在狀態恢復后發出正常的郵件或短信進行通知。
本節介紹了 Nagios 在不同平臺上的安裝和使用過程。
截止目前 Nagios Core 的最新版本為 4.2.1。Nagios 官方網站為?https://www.nagios.com。
1. 安裝要求
Nagios 所需要的運行條件是機器必須可以運行 Linux(或是 Unix 變種)并且裝有 C 語言編譯器(如果是從源碼進行安裝的話)。你必須正確地配置 TCP/IP 協議棧以使大多數的服務檢測可以通過網絡得以進行。
Nagios 里的 CGI 程序不是必須的,如果你要使用 CGI 程序時,你必須要安裝以下這些軟件:
- 一個 Web 服務,最好是 Apache;
- Thomas Boutell 制作的?gd 庫版本應是1.6.3或更高(在 CGI 程序模塊?statusmap?和?trends?這兩個模塊里需要這個庫)
2. Fedora 平臺下的安裝
下面介紹下在 Fedora 平臺下,從源碼進行 Nagios 安裝的步驟。本例使用的是 Fedora Core 6 版本。
如果安裝成功,最后將得到如下的結果:
- Nagios 和插件將安裝到?
/usr/local/nagios
; - Nagios 將被配置為監控本地系統的幾個主要服務(CPU 負荷、磁盤利用率等);
- Nagios 的 Web 界面的 URL 是?http://localhost/nagios/。
(1)安裝條件
首先,需要擁有 root 用戶權限來訪問你的機器。其次,確保你的機器中已經安裝了下面這些軟件包:
- Apache
- PHP
- GCC 編譯器
- GD 開發包
可以使用 yum 來安裝上面這些包(使用 root 賬號):
yum install httpd php
yum install gcc glibc glibc-common
yum install gd gd-devel
(2)創建賬號信息
切換為 root 用戶:
su -l
創建一個名為 nagios 的帳號并設定登錄口令:
/usr/sbin/useradd -m nagios
passwd nagios
創建一個用戶組名為 nagcmd 用于從 Web 界面執行外部命令。將 nagios 用戶和 apache 用戶都加到這個組中:
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios
/usr/sbin/usermod -a -G nagcmd apache
(3)下載 Nagios 和插件程序包
建立一個目錄用以存儲下載文件:
mkdir ~/downloads
cd ~/downloads
下載 Nagios 和 Nagios 插件的軟件包。訪問?https://www.nagios.org/download?站點以獲得最新版本:
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.8.tar.gz
wget http://www.nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
(4)編譯與安裝 Nagios
解壓 Nagios 源程序包:
cd ~/downloads
tar xzf nagios-4.0.8.tar.gz
cd nagios-4.0.8
運行 Nagios 配置腳本,并使用先前開設的用戶及用戶組:
./configure --with-command-group=nagcmd
編譯 Nagios 程序包源碼:
make all
安裝二進制運行程序、初始化腳本、配置文件樣本并設置運行目錄權限:
make install
make install-init
make install-config
make install-commandmode
(5)自定義配置
樣例配置文件默認安裝在這個?/usr/local/nagios/etc
?目錄下,這些樣例文件可以只需要做一個簡單的修改,便可以配置 Nagios 使之正常運行。
編輯這個?/usr/local/nagios/etc/objects/contacts.cfg
?配置文件,更改 email 地址來關聯 nagiosadmin 聯系人定義 email,這樣該 email 就能接收到報警內容。
vi /usr/local/nagios/etc/objects/contacts.cfg
(6)配置 Web 界面
安裝 Nagios 的 Web 配置文件到 Apache 的?conf.d
?目錄下:
make install-webconf
創建一個 nagiosadmin 的用戶用于登錄 Nagios 的 Web 界面。記下你所設置的登錄口令,一會兒你會用到它:
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
重啟 Apache 服務以使設置生效:
service httpd restart
(7)編譯并安裝 Nagios 插件
解壓 Nagios 插件的源程序包:
cd ~/downloads
tar xzf nagios-plugins-2.0.3.tar.gz
cd nagios-plugins-2.0.3
編譯并安裝插件:
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install
(8)啟動 Nagios
把 Nagios 加入到服務列表中以使之在系統啟動時自動啟動:
chkconfig --add nagios
chkconfig nagios on
驗證 Nagios 的樣例配置文件:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
如果沒有報錯,可以啟動 Nagios 服務:
service nagios start
(9)更改 SELinux 設置
Fedora 與 SELinux(安全增強型 Linux)同步發行,安裝后會默認使用強制(Enforcing)模式。這會在你嘗試聯入 Nagios 的 CGI 時導致一個“內部服務錯誤”消息。
如果是 SELinux 處于強制安全模式時需要做:
getenforce
令 SELinux 處于容許(Permissive)模式:
setenforce 0
如果要永久性更變它,需要更改/etc/selinux/config
里的設置并重啟系統。
不關閉 SELinux 或是永久性變更它的方法是讓 CGI 模塊在 SELinux 下指定強制目標模式:
chcon -R -t httpd_sys_content_t /usr/local/nagios/sbin/
chcon -R -t httpd_sys_content_t /usr/local/nagios/share/
(10)登錄到 Web 界面
你現在可以從 URL 來訪問 Web 界面了,你需要在提示下輸入你的用戶名(nagiosadmin)和你剛剛設置的口令。URL 地址為?http://localhost/nagios/
點擊“Service Detail(服務詳情)”的引導超鏈來查看你本機的監視詳情。你可能需要給點時間讓 Nagios 來檢測你機器上所依賴的服務,因為檢測需要些時間。
(11)其他設置
確保你機器的防火墻規則配置允許你可以從遠程登錄到 Nagios 的 Web 服務器。
3. openSUSE 平臺下的安裝
下面介紹下在 openSUSE 平臺下,從源碼進行 Nagios 安裝的步驟。本例使用的是 openSUSE 10.2 版本。
(1)安裝條件
確保你的機器中已經安裝了下面這些軟件包:
- apache2
- C/C++ 開發包
可以使用 yast 來安裝上面這些包。
(2)創建賬號信息
切換為 root 用戶:
su -l
創建一個名為 nagios 的帳號并設定登錄口令:
/usr/sbin/useradd -m nagios
passwd nagios
創建一個用戶組名為 nagios。將 nagios 用戶都加到這個組中:
/usr/sbin/useradd -m nagios
passwd nagios
創建一個用戶組名為 nagcmd 用于從 Web 界面執行外部命令。將 nagios 用戶和 apache 用戶都加到這個組中:
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios
/usr/sbin/usermod -a -G nagcmd wwwrun
(3)下載 Nagios 和插件程序包
建立一個目錄用以存儲下載文件:
mkdir ~/downloads
cd ~/downloads
下載 Nagios 和 Nagios 插件的軟件包。訪問?https://www.nagios.org/download?站點以獲得最新版本。
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.8.tar.gz
wget http://www.nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
(4)編譯與安裝 Nagios
解壓 Nagios 源程序包
cd ~/downloads
tar xzf nagios-4.0.8.tar.gz
cd nagios-4.0.8
運行 Nagios 配置腳本,并使用先前開設的用戶及用戶組:
./configure --with-command-group=nagcmd
編譯 Nagios 程序包源碼:
make all
安裝二進制運行程序、初始化腳本、配置文件樣本并設置運行目錄權限:
make install
make install-init
make install-config
make install-commandmode
(5)自定義配置
樣例配置文件默認安裝在這個?/usr/local/nagios/etc
?目錄下,這些樣例文件可以配置 Nagios 使之正常運行,只需要做一個簡單的修改。
編輯這個?/usr/local/nagios/etc/objects/contacts.cfg
?配置文件,更改 email 地址來關聯 nagiosadmin 聯系人定義 email,這樣該 email 就能接收到報警內容。
vi /usr/local/nagios/etc/objects/contacts.cfg
(6)配置 Web 界面
安裝 Nagios 的 Web 配置文件到 Apache 的?conf.d
?目錄下:
make install-webconf
創建一個 nagiosadmin 的用戶用于登錄 Nagios 的 Web 界面。記下你所設置的登錄口令,一會兒你會用到它。
htpasswd2 -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
重啟 Apache 服務以使設置生效:
service apache2 restart
(7)編譯并安裝 Nagios 插件
解壓 Nagios 插件的源程序包:
cd ~/downloads
tar xzf nagios-plugins-2.0.3.tar.gz
cd nagios-plugins-2.0.3
編譯并安裝插件:
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install
(8)啟動 Nagios
把 Nagios 加入到服務列表中以使之在系統啟動時自動啟動:
chkconfig --add nagios
chkconfig nagios on
驗證 Nagios 的樣例配置文件:
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
如果沒有報錯,可以啟動 Nagios 服務:
service nagios start
(9)登錄到 Web 界面
你現在可以從 URL 來訪問 Web 界面了,你需要在提示下輸入你的用戶名(nagiosadmin)和你剛剛設置的口令。URL 地址為?http://localhost/nagios/。
點擊“Service Detail(服務詳情)”的引導超鏈來查看你本機的監視詳情。你可能需要給點時間讓 Nagios 來檢測你機器上所依賴的服務,因為檢測需要些時間。
(10)其他設置
確保你機器的防火墻規則配置允許你可以從遠程登錄到 Nagios 的 Web 服務器。你可以這樣做:
- 打開控制中心;
- 選擇“Open Administrator Settings(打開超戶設置)”以打開 YaST 用戶控制中心;
- 選擇在“Security and Users(安全與用戶)”分類下的“Firewall(防火墻)”;
- 在防火墻的配置窗口中點擊“Allowed Services(允許的服務)”選項;
- 在“External Zone(外部區)”允許的服務中添加“'HTTP Server(HTTP 服務器)”;
- 點擊“Next(下一步)”并選擇“Accept(接受)”以使得防火墻設置生效。
4. Ubuntu 平臺下的安裝
下面介紹下在 Ubuntu 平臺下,從源碼進行 Nagios 安裝的步驟。本例使用的是 Ubuntu 6.10(desktop)版本。
如果安裝成功,最后將得到如下的結果:
- Nagios 和插件將安裝到?
/usr/local/nagios
; - Nagios 將被配置為監控本地系統的幾個主要服務(CPU 負荷、磁盤利用率等);
- Nagios 的 Web 界面的 URL 是?http://localhost/nagios/。
(1)安裝條件
確保你的機器中已經安裝了下面這些軟件包:
- Apache 2
- PHP
- GCC 編譯器
- GD 開發包
可以使用 apt-get 來安裝上面這些包:
sudo apt-get install apache2
sudo apt-get install libapache2-mod-php5
sudo apt-get install build-essential
在 Ubuntu 6.10 版本,安裝 gd2 庫使用下面的命令:
sudo apt-get install libgd2-dev
在 Ubuntu 7.10 版本,安裝 gd2 庫的名稱更改了,所以使用的命令有所不同:
sudo apt-get install libgd2-xpm-dev
(2)創建賬號信息
切換為 root 用戶:
sudo -s
創建一個名為 nagios 的帳號并設定登錄口令:
/usr/sbin/useradd -m -s /bin/bash nagios
passwd nagios
在老版本的 Ubuntu 服務器版本中(6.01 及之前的版本),需要添加 nagios 組中。桌面版本或者 6.01 之后的服務器版本,則不需要下面的步驟:
/usr/sbin/groupadd nagios
/usr/sbin/usermod -G nagios nagios
創建一個用戶組名為 nagcmd 用于從 Web 界面執行外部命令。將 nagios 用戶和 apache 用戶都加到這個組中:
/usr/sbin/groupadd nagcmd
/usr/sbin/usermod -a -G nagcmd nagios
/usr/sbin/usermod -a -G nagcmd www-data
(3)下載 Nagios 和插件程序包
建立一個目錄用以存儲下載文件:
mkdir ~/downloads
cd ~/downloads
下載 Nagios 和 Nagios 插件的軟件包。訪問?https://www.nagios.org/download?站點以獲得最新版本:
wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-4.0.8.tar.gz
wget http://www.nagios-plugins.org/download/nagios-plugins-2.0.3.tar.gz
(4)編譯與安裝 Nagios
解壓 Nagios 源程序包:
cd ~/downloads
tar xzf nagios-4.0.8.tar.gz
cd nagios-4.0.8
運行 Nagios 配置腳本,并使用先前開設的用戶及用戶組:
./configure --with-command-group=nagcmd
編譯 Nagios 程序包源碼:
make all
安裝二進制運行程序、初始化腳本、配置文件樣本并設置運行目錄權限:
make install
make install-init
make install-config
make install-commandmode
(5)自定義配置
樣例配置文件默認安裝在這個?/usr/local/nagios/etc
?目錄下,這些樣例文件可以配置 Nagios 使之正常運行,只需要做一個簡單的修改。
編輯這個?/usr/local/nagios/etc/objects/contacts.cfg
?配置文件,更改 email 地址來關聯 nagiosadmin 聯系人定義 email,這樣該 email 就能接收到報警內容。
vi /usr/local/nagios/etc/objects/contacts.cfg
(6)配置 Web 界面
安裝 Nagios 的 Web 配置文件到 Apache 的?conf.d
?目錄下:
make install-webconf
創建一個 nagiosadmin 的用戶用于登錄 Nagios 的 Web 界面。記下你所設置的登錄口令,一會兒你會用到它:
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
重啟 Apache 服務以使設置生效:
/etc/init.d/apache2 reload
(7)編譯并安裝 Nagios 插件
解壓 Nagios 插件的源程序包:
cd ~/downloads
tar xzf nagios-plugins-2.0.3.tar.gz
cd nagios-plugins-2.0.3
編譯并安裝插件:
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install
(8)啟動 Nagios
把 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
(9)登錄到 Web 界面
你現在可以從 URL 來訪問 Web 界面了,你需要在提示下輸入你的用戶名(nagiosadmin)和你剛剛設置的口令。URL 地址為?http://localhost/nagios/
點擊“Service Detail(服務詳情)”的引導超鏈來查看你本機的監視詳情。你可能需要給點時間讓 Nagios 來檢測你機器上所依賴的服務,因為檢測需要些時間。
(10)其他設置
如果要接收 Nagios 的 email 警報,需要安裝 mailx(Postfix)包:
sudo apt-get install mailx
sudo apt-get install postfix
需要編輯 Nagios 里的 email 通知送出命令,它位于/usr/local/nagios/etc/objects/commands.cfg
文件中,將里面的/bin/mail
全部替換為/usr/bin/mail
。一旦設置好需要重啟動 Nagios 以使配置生效。
sudo /etc/init.d/nagios restart
閱讀全文:http://click.aliyun.com/m/17387/??