第一章:簡單快速安裝nagios
1.1 準備軟件包
在做安裝之前確認要對該機器擁有root權限。 確認你安裝好的linux系統上已經安裝如下軟件包再繼續。
Apache
GCC編譯器
GD庫與開發庫
Openssl-devel
可以用yum命令來安裝這些軟件包,鍵入命令:
yum –y install httpd gcc glibc glibc‐common gd gd‐devel |
1.2 操作過程
1.2.1 建立nagios賬號
/usr/sbin/useradd nagios && passwd nagios |
創建一個用戶組名爲nagcmd用於從Web接口執行外部命令。將nagios用戶和apache用戶都加到這個組中。
/usr/sbin/groupadd nagcmd /usr/sbin/usermod ‐G nagcmd nagios /usr/sbin/usermod ‐G nagcmd apache |
1.2.2 下載nagios和插件程序包
下載Nagios和Nagios插件的軟件包(訪問http://www.nagios.org/download/ 站點以獲得最新版本)
cd /usr/local/src wget http://nchc.dl.sourceforge.net/sourceforge/nagios/nagios‐3.0.6.tar.gz wget http://nchc.dl.sourceforge.net/sourceforge/nagiosplug/nagios‐plugins‐1.4.13.tar.gz |
1.2.3 編譯與安裝nagios
cd /usr/local/src tar zxvf nagios‐3.0.6.tar.gz cd nagios‐3.0.6 ./configure ‐‐with‐command‐group=nagcmd ‐ ‐prefix=/usr/local/nagios make all make install make install‐init make install‐config make install‐commandmode |
驗證程序是否被正確安裝。切換目錄到安裝路徑(這裏是/usr/local/nagios),看是否存在 etc、bin、 sbin、 share、 var這五個目錄,如果存在則可以表明程序被正確的安裝到系統了。後表是五個目錄功能的簡要說明:
bin |
Nagios執行程序所在目錄,nagios文件即爲主程序 |
etc |
Nagios配置文件位置,初始安裝完後,只有幾個*.cfg-sample文件 3與2區別 對象配置文件都在etc/objects目錄下 |
sbin |
Nagios Cgi文件所在目錄,也就是執行外部命令所需文件所在的目錄 |
Share |
Nagios網頁文件所在的目錄 |
Var |
Nagios日誌文件、spid 等文件所在的目錄 |
var/archives |
Empty directory for the archived logs |
var/rw |
Empty directory for the external command file |
1.2.4 編譯並安裝nagios插件 nagios‐plugins
cd /usr/local/src tar zxvf nagios‐plugins‐1.4.13.tar.gz cd nagios‐plugins‐1.4.13 ./configure ‐‐with‐nagios‐user=nagios ‐‐with‐nagios‐group=nagios ‐‐perfix=/usr/local/nagios make && make install |
驗證:
ls /usr/local/nagios/libexec
會顯示安裝的插件文件,即所有的插件都安裝在libexec這個目錄下
1.2.5 配置WEB接口
方法一:直接在安裝nagios時 make install‐webconf
創建一個nagiosadmin的用戶用於Nagios的WEB接口登錄。記下你所設置的登錄口令,一會兒你會用到它。
htpasswd ‐c /usr/local/nagios/etc/htpasswd.users nagiosadmin
重啓Apache服務以使設置生效。
service httpd restart
方法二:在httpd.conf最後添加如下內容:
#setting for nagios 20090325 #setting by bbs.linuxtone.org ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin <Directory "/usr/local/nagios/sbin"> Options ExecCGI AllowOverride None Order allow,deny Allow from all AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd //用於此目錄訪問身份驗證的文件 Require valid-user </Directory>
Alias /nagios /usr/local/nagios/share <Directory "/usr/local/nagios/share"> Options None AllowOverride None Order allow,deny Allow from all AuthName "Nagios Access" AuthType Basic AuthUserFile /usr/local/nagios/etc/htpasswd //用於此目錄訪問身份驗證的文件 Require valid-user </Directory> |
/usr/local/apache2/bin/htpasswd ‐c /usr/local/nagios/etc/htpasswd test
New password: (輸入12345)
Re‐type new password: (再輸入一次密碼)
Adding password for user test
查看認證文件的內容
less /usr/local/nagios/etc/htpasswd
test:OmWGEsBnoGpIc 前半部分是用戶名test,後面是加密後的密碼
本例添加的是test 用戶名,需要改 cgi.cfg 配置文件,允許test用戶
authorized_for_system_information=test authorized_for_configuration_information=test authorized_for_system_commands=test authorized_for_all_services=test authorized_for_all_hosts=nagiosadmin,test authorized_for_all_service_commands=test authorized_for_all_host_commands=test 如果有多用戶,請用逗號格開 |
1.2.6 啓動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
1.2.7 更改SELinux設置
Fedora與SELinux(安全增強型Linux)同步發行與安裝後將默認使用強制模式。這會在你嘗試聯入Nagios的CGI時導致一個"內部服務錯誤"消息。
如果是SELinux處於強制安全模式時需要做
getenforce
令SELinux處於容許模式
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/
1.2.8 測試
登錄 http://localhost/nagios/ 輸入用戶名和密碼就可以正常登錄了
1.2.9 使用NRPE監控LINUX上的”本地信息”
1.在被監控主機上
增加用戶
useradd nagios
設置密碼
passwd nagios
2.安裝nagios插件
tar ‐zxvf nagios‐plugins‐***.tar.gz cd nagios‐plugins‐*** ./configure make make install chown nagios.nagios /usr/local/nagios chown ‐R nagios.nagios /usr/local/nagios/libexec |
3.安裝nrpe (監控機也安裝)
tar ‐zxvf nrpe‐***.tar.gz cd nrpe‐2.8.1 ./configure make all make install‐plugin make install‐daemon make install‐daemon‐config /usr/local/nagios/libexec/check_nrpe ‐H localhost |
會返回當前NRPE的版本
# /usr/local/nagios/libexec/check_nrpe ‐H localhost NRPE v2.8.1 |
在監控與被監控機上啓動NRPE:
/usr/local/nagios/bin/nrpe ‐c /usr/local/nagios/etc/nrpe.cfg ‐d |
連接遠程NRPE:
/usr/local/nagios/libexec/check_nrpe ‐H <IP_ADD> |
也就是在本地用check_nrpe連接nrpe daemon是正常的
注:爲了後面工作的順利進行,注意本地防火牆要打開5666能讓外部的監控機訪問
/usr/local/nagios/libexec/check_nrpe –h查看這個命令的用法
可以看到用法是check_nrpe –H 被監控的主機 ‐c要執行的監控命令
注意:‐c後面接的監控命令必須是nrpe.cfg文件中定義的.也就是NRPE daemon只運行nrpe.cfg中所定義的命令
打開nrpe.cfg下的遠程登入:
Vim /usr/local/nagios/nrpe.cfg Allowed_hosts=127.0.0.1,10.1.16.111 |
注意,兩個IP地址中間是逗號