2014年2月19日

網管的好幫手-Nagios 【基礎安裝篇】

好久沒寫些技術性的文章了,趁著這陣子裝了套網管系統-Nagios的印象仍在,趕緊把所有細節寫下來,避免日後老人痴呆忘記了所有"眉角"。

對於管IT基礎建設的工程師們來說,網管軟體是不可或缺的工具,無論是即時獲得系統或網路狀態,或是觀察網路或系統負載的趨勢,以及提供可用性報表向老闆表示管理良善。(請老闆們給這些能提供報表的工程師加薪吧,不能提供這類報表的IT多如過江之鯽啊!)
Nagios是一套open source的網管軟體,強項在於其具有彈性。有許多國外的網友們開發了不同的Plug-in套用在Nagios上,可以用來對應不同的系統或設備進行資料收集,並發佈於Nagios Exchange上提供下載。這些plug-in其實就是一隻隻單獨的執行檔,若是自己有php或是shell script的開發經驗,也可以直接開發自己的plug-in來用。

Nagios的官網 http://www.nagios.org/ 上提供了不同版本的nagios可供下載。
Nagios IX是商業版,有完整的設定及圖形UI,原廠也提供專業諮詢服務。
Nagios Core則是開源版,監控的設定需透過command去修改設定檔,Web端僅提供資料呈現及查詢,當然在出問題時,僅能透過網路社群尋找熱心人士解決。

對岸以及國外有不少網頁寫了Nagios core的安裝及設定文件,這篇也不例外。但不同的是,我打算另外將國外網友開發的Nagios歷史報表套件pnp4nagios以及圖形化設定界面nagiosql的安裝設定,如何實作在Ubuntu 13.10上來作說明。

預計這個文件會拆成至少四篇文章來寫:
【基礎安裝篇】- Nagios core所必要的套件安裝及設定說明
【圖形管理篇】- Nagios上最受好評的圖形化設定工具 - Nagiosql之安裝設定說明
【歷史報表篇】- 補強Nagios core僅能顯現最近一次收集到資料的圖形化套件-pnp4nagios之安裝設定說明
【進階監控篇】- 如何以Nagiosql配合幾隻好用的Plug-in進行進一步的監控

這些好用的開源軟體,若是覺得不錯用的話,也可以考慮donate作者作為回報哦!

首先,因為每個Linux distribution都有不同的路徑及套件版本配合,所以這篇文件是限定在Ubuntu 13.10 (saucy salamander) server版上。基礎的Ubuntu安裝以及文件編輯器(vi)操作就不在本篇說明之範圍內。另外,Ubuntu預設是不能用root登入,以維護系統安全,但文件中為節省篇幅,省略輸入每個指令前必須的sudo(亦可先執行sudo -i取得root權限)。

安裝Nagios前必須要有Apache2及php5,而Nagiosql則須要mysql紀錄設定檔。因此在ubuntu安裝時,直接將LAMP server以及OpenSSH列為安裝選項。
若手邊的Ubuntu已安裝完成,也可以輸入以下指令手動安裝:
apt-get install apache2 php5 mysql-server libapache2-mod-auth-mysql php5-mysql openssh-server
安裝過程中,mysql會要求輸入其最高管理者"root"的密碼,請不要忘記,因為之後pnp4nagios的設定時會用上。
Ubuntu安裝完成後,建議執行底下指令,更新所有已安裝的套件以及系統檔案。
apt-get upgrade && apt-get dist-upgrade
接下來,要安裝所有Nagios需要用上的套件,指令如下:
apt-get install postfix pnp4nagios libgd2-xpm-dev php5 make
安裝過程中系統會要求輸入這台mail server的服務類型,若是要透過其他mail server relay信件的話,就依下圖選取Satellite system。否則就請依postfix的建議進行設定。
另外,安裝pnp4nagios套件時會自動安裝Ubuntu 13.10版本附帶的Nagios3 (3.4.1版),故系統會出現提示要求輸入Nagios網頁的預設管理員帳號-"nagiosadmin"的密碼。
但因為這版無法正常輸出pnp4nagios產生報表圖形所須的performance data (perfdata),因此完成安裝後,須手動移除nagios3這個套件。指令如下:
apt-get remove nagios3 && apt-get autoremove
接著開始下載Nagios 3.5.1的原始安裝程式、預設plug-in包下載到/tmp(或使用者home dir亦可),指令為:
(註:若無法正常下載,請上網找尋其他mirror site位置替換後方URL)
cd /tmp
wget http://jaist.dl.sourceforge.net/project/nagios/nagios-3.x/nagios-3.5.1/nagios-3.5.1.tar.gz
wget http://assets.nagios.com/downloads/nagiosplugins/nagios-plugins-1.5.tar.gz
下載完成後,解開上述兩個檔案。
tar zxvf nagios-3.5.1.tar.gz
tar zxvf nagios-plugins-1.5.tar.gz
解開後會多出nagios, nagios-plugins-1.5兩個子目錄。
Nagios需要建立一個帳號(nagios)以及群組(nagios)作為執行以及權限設定之用途,指令如下:
useradd nagios
usermod -a -G nagios nagios
接著依序執行下列指令,開始進行Nagios Core的安裝:
cd /tmp/nagios
./configure --with-command-group=nagios
make all
make install
make install-init
make install-commandmode
make install-config
make install-webconf
此時會出現如下的錯誤訊息,這是因為Ubuntu的apache預設設定檔目錄與nagios安裝程式不同所導致。
直接依錯誤訊息所提示的路徑,建立對應的目錄,再重新執行make instal-webconf就可解決。
mkdir /etc/httpd
mkdir /etc/httpd/conf.d
make install-webconf
完成nagios的安裝後,接下來就是要安裝預設的plug-in包,不過在此之前,仍有一些必要的套件必須先行安裝。
apt-get install libnet-snmp-perl libperl5.14 libpq5 libradiusl libsensors4 libsnmp-base libsnmp30 libtalloc2 libtdb1 libwbclient0 samba-common samba-common-bin smbclient snmp whois libmysqlclient15-dev libssl-dev
安裝完成後,開始進行plug-in的安裝。
cd /tmp/nagios-plugins-1.5
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make && make install

將nagios設定為開機啟動,並將nagios的apache設定檔(nagios.conf)建立連結到/etc/apache2/conf-enable,並將所有nagios設定檔建立一份連結到/etc/nagios底下,以簡化日後維護程序。
ln -s /etc/init.d/nagios /etc/rc.d/S20nagios
ln -s /etc/httpd/conf.d/nagios.conf /etc/apache2/conf-enabled/nagios.conf
ls -s /usr/local/nagios/etc /etc/nagios
接下來,為了保護Nagios網頁的存取安全,新增一組apache帳號"nagiosadmin"作為預設管理者。
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

檢查nagios設定檔有無錯誤
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
最後重新啟動apache以及nagios服務
service apache2 restart && service nagios start
沒有任何錯誤訊息產生的話,可以用自己的機器試著輸入http://[nagios server IP]/nagios
成功的話就可以看到以下的登入頁面。

用剛才產生的 "nagiosadmin"帳號登入後,就可以看見nagios的預設首頁以及預設本地監控資料。
不過預設的頁面長相有點陽春,而且訊息的排列方式不太像坊間的網管軟體,若要改善Web的顯示方式,可以到Nagios Frontend網頁去找自己喜歡的樣式,把醜醜的預設頁面換掉。

這裏用許多人喜歡的vautour_style當說明範例。
先下載壓縮檔到/tmp:
cd /tmp
wget http://www.be-root.com/downloads/nagios/vautour/vautour_style.zip
這裏發現下載回來的格式是zip檔,所以要再裝unzip解壓縮套件。
apt-get install unzip
接著就是解壓縮,並將解開來的檔案覆蓋原本的nagios網頁就可以了。
(註:建議在覆蓋原始網頁前,先將原本的網頁用tar -jcvf /tmp/nagios-originweb.tar.gz /usr/local/nagios/share/*備份到/tmp底下,避免日後要改回預設頁面時找不到備份檔檔
mkdir /tmp/vautour_style
mv /tmp/vautour_style.zip vautour_style/
cd vautour_style/
unzip vantour_style.zip
cp -r /tmp/vautour_style/* usr/local/nagios/share/
這樣就完成頁面的替換了,直接refresh nagios網頁,就可以看到美美的新網頁啦!
這樣Nagios的基本安裝就大功告成了,再來就敬請期待【圖形管理篇】來教大家怎麼安裝圖形化設定界面-Nagiosql。

沒有留言:

張貼留言

本部落格版權宣告

創用 CC 授權條款
自由人、自由事Freeman Lee製作,以創用CC 姓名標示 4.0 國際 授權條款釋出。