第一章:簡單快速安裝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地址中間是逗號
本文出自 “我的自留地” 部落格