與其說Nagios 是一個服務器監控系統,不如說nagios是一個服務和主機的監控平臺。
為什么這么說呢?Nagios的設計者并沒有把nagios設計成萬能的巨人,而是把nagios設計成監控王國之中的國王,或者說是“監控之神”。
nagios的功能是監控服務和主機,但是他自身并不包括這部分功能的代碼,所有的監控、檢測功能都是有插件來完成的。再說報警功能,如果監控系統發現問題不能報警那就沒有意義了,所以報警也是nagios很重要的功能之一。但是,同樣的,nagios自身也沒有報警部分的代碼,甚至沒有插件,而是交給用戶或者其他相關開源項目組去完成。類似這樣細致的工作,被nagios的開發人員稱為dirty work(臟活)。其實臟活不臟,只是太細致了,對于nagios——一個負責監控工作的老板來說,細致的工作必然是交給他的員工去搞定啦。
所以我這里說的nagios安裝,是指基本平臺,也就是nagios軟件包的安裝。它是監控體系的框架,也是所有監控的基礎。
打開nagios官方的文檔,會發現nagios基本上沒有什么依賴包,只要求系統是linux或者其他nagios支持的系統。不過如果你沒有安裝apache(http服務),那么你就沒有那么直觀的界面來了解信息了,所以apache姑且算是一個前提條件。關于apache的安裝,網上有很多,照著安裝就是了。安裝之后要檢查一下是否可以正常工作。
Ok,準備工作搞定。讓我們開啟nagios之旅!
首先到官方網站(http://www.nagios.org/download/)去下載最新的nagios軟件包,本文中使用的是nagios-2.9.tar.gz 。順便把官方文檔也下載下來,以備不時之需。
其實nagios的安裝是很簡單的,sery兄稱其為“難夠死”,也只是因為配置上稍顯麻煩。所以如果下決心要搞定nagios,那么你需要的最重要的能力,不是技術,而是毅力。呵呵,玩笑話就不多說了,讓我們開始安裝軟件包:
nagios用戶
adduser nagios mkdir /usr/local/nagios chown nagios.nagios /usr/local/nagios |
nagios 組
grep "^User" /etc/httpd/conf/httpd.conf #確定apache的用戶,默認是apache
/usr/sbin/groupadd nagcmd /usr/sbin/usermod -G nagcmd apache #apache的用戶名 /usr/sbin/usermod -G nagcmd nagios |
解壓
tar xzf nagios-version.tar.gz |
編譯
./configure --prefix=prefix --with-nagios-user=someuser --with-nagios-group=somegroup --with-command-group=cmdgroup #變量prefix 為安裝目錄,例如/usr/local/nagios #變量someuser 為nagios的用戶,例如nagios #變量somegruop 為nagios屬于的組,例如nagios #變量cmdgroup 為nagios命令行屬組,例如nagcmd |
安裝
make all make install make install-config make install-init |
檢查
ls /usr/local/nagios/ |
生成http用戶驗證文件,用戶名為nagios
/usr/bin/htpasswd -c /usr/local/nagios/etc/htpasswd.users nagios |
將nagios的信息加到apache中,打開/etc/httpd/conf/httpd.conf文件,在文件最后添加如下代碼:
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.users 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.users Require valid-user </Directory> |
重啟apache
/etc/init.d/httpd restart |
經過上述9個步驟,如果沒有出問題的話,你的nagios頁面將神奇的出現在下面的地址,趕快去驗收成果吧!