Nagios遠程監(jiān)控軟件的安裝與配置
Nagios遠程監(jiān)控軟件的安裝與配置
作為系統(tǒng)管理員,我最擔心那些重要的在線系統(tǒng)在我不知情的情況下停機或者停止網絡服務,而且那些發(fā)生故障的服務或主機有時候可能要好長一段時間才知道。尤其是遇到節(jié)假日,系統(tǒng)管理員就很緊張。要改變這種被動局面,這里我推薦網絡監(jiān)控軟件Nagios,個人認為它***的好處是可以發(fā)故障報警短信—只要Nagios監(jiān)控的對象發(fā)生故障,系統(tǒng)就會自動發(fā)送短信到手機上。
Nagios是一個用來監(jiān)控主機、服務和網絡的開放源碼軟件,很多大的公司或組織都在使用它。
在我來到現(xiàn)在這個機構之前,已經有一個Netsaint(nagios的老版本)在監(jiān)控那些在線服務器,但是不完善,后來我立了一個項,部署了新的監(jiān)控平臺nagios把所有的在線服務器都監(jiān)控起來了;到目前為止,監(jiān)控了413個主機和754個服務。
雖然Nagios十分受用,但配置起來確是麻煩,根據(jù)其讀音我給它取可一個中文名-難夠死?;谶@樣的原因,我將盡可能詳細地向大家講述我用Nagios的過程以及心得,希望對初學者有所幫助。
安裝所需軟件
一、安裝Nagios
Nagios可以運行在各種版本的linux及主流的unix環(huán)境,我試過的環(huán)境有Redhat linux,Centos,Debian等。在實際的運維中,我是以centos 4來部署nagios的。安裝完操作系統(tǒng)之后,需要把多余的服務都關掉,只留sshd這個服務。然后用wget下載源碼包nagios-2.6.tar.gz和httpd-2.2.0.tar.gz。接下來先分別安裝軟件,過程如下:
1、解壓nagios. tar zxvf nagios-2.6.tar.gz
2、配置nagios. cd nagios ; ./configure –prefix=/usr/local/nagios
3、編譯nagios. make all
4、安裝nagios。與別的軟件安裝稍有不同,nagios的安裝要好幾步才能完成。***步執(zhí)行make install安裝主要的程序、CGI及HTML文件,第二步執(zhí)行 make install-commandmode 給外部命令訪問nagios配置文件的權限,第三步執(zhí)行 make install-config 把配置文件的例子復制到nagios的安裝目錄。按照安裝向導的提示,其實這里還有一個 make install-init的步驟,它的作用是把nagios做成一個運行腳本,使nagios隨系統(tǒng)開機啟動,這是一個很方便的措施。但本人是一個喜歡把問題簡化的人,沒有執(zhí)行這樣的操作。
5、驗證程序是否被正確安裝。切換目錄到安裝路徑(這里是/usr/local/nagios),看是否存在 etc、bin、 sbin、 share、 var這五個目錄,如果存在則可以表明程序被正確的安裝到系統(tǒng)了。后表是五個目錄功能的簡要說明:
binNagios執(zhí)行程序所在目錄,這個目錄只有一個文件nagios
etcNagios配置文件位置,初始安裝完后,只有幾個*.cfg-sample文件
sbinNagios Cgi文件所在目錄,也就是執(zhí)行外部命令所需文件所在的目錄
ShareNagios網頁文件所在的目錄
VarNagios日志文件、spid 等文件所在的目錄
二、安裝nagios的插件
沒有插件,nagios將什么作用也沒有,插件也是nagios擴展功能的強大武器,除了下載常用的插件外,我們還可以根據(jù)實際要求編寫自己的插件。Nagios的插件nagios-plugins-1.4.5在www.nagios.org上可以找到,接著我們用wget下載它。注意:插件與nagios之間的版本關聯(lián)不大,不一定非得用nagios-plugins-1.4.5這個版本。下載完成后,安裝它是很簡單的:先執(zhí)行配置 ./configure –prefix=/usr/local/nagios ,接著編譯安裝 make ; make install即可。這里需要說明一下的是在配置過程指定的安裝路徑是/usr/local/nagios,而不是/usr/local/nagios-plus,安裝完成后,將在目錄/usr/local/nagios生成目錄libexec(里面有很多文件),這正是nagios所需要的。
三、安裝web服務器apache
Web服務不是nagios所必須的,但是如果nagios沒有web,查看監(jiān)控對象的對象將是非常費事和沒有趣味的事情(只有通過查看nagios的日志來判斷狀態(tài))。我不愿干特無聊的事,所以就花少許時間把web安裝一下。
在unix/linux世界,apache是web服務器的***對象,其下載網站為www.apache.org 。建議下載源碼。因為我們不需要很復雜的web功能,因此簡單的執(zhí)行一下幾個步驟就可以正確的把apache安裝到系統(tǒng):
1、解包、配置:tar zxvf httpd-2.2.0.tar.gz ; cd httpd-2.2.0 ; ./configure –prefix=/usr/local/apache 。
2、編譯安裝: make ; make install 。
安裝完成后,執(zhí)行命令 ./usr/local/apache/bin/apachectl –t 檢查一下apache是否正確安裝。
配置前的處理
最主要的工作是創(chuàng)建nagios用戶及其束組,讓nagios的運行用戶為nagios而不是root。再把目錄/usr/local/nagios的屬主設置為nagios,以保證系統(tǒng)的安全。Nagios可以以root用戶運行,但并不推薦這樣做。用下面的步驟來完成上述過程:
1、添加系統(tǒng)帳戶nagios: useradd nagios 就很容易的把用戶和組nagios添加到系統(tǒng)。
有的類型的linux發(fā)行版添加用戶和組要麻煩一些-需要要添加組,然后再執(zhí)行 useradd –g nagios nagios這樣的操作。在實際的運用場景,nagios用戶并沒有必要作為系統(tǒng)用戶來登錄linux系統(tǒng),因此可以不必設置nagios的用戶密碼,甚至可以把nagios用戶的登錄shell設置成/bin/false。
2、更改目錄屬組:chown –R nagios.nagios /usr/local/nagios 。請注意,有的unix/linux的版本用戶和屬組分隔符號不是“.”,可能會是這樣的形式 chown –R nagios:nagios /usr/local/nagios 。
3、sendmail??纯磗endmail是否正常運行?我們需要使用sendmail來發(fā)送故障報警信息,所以這個包必須能夠正常工作。Sendmail分為服務器和客戶端兩部分,有2種發(fā)送報警郵件的方式:
(1)nagios所在的機器通過sendmail客戶端程序把郵件發(fā)送到專門的郵件服務器,再由郵件服務器把消息發(fā)送到用戶郵箱。
(2)郵件客戶端和服務器端就用nagios所在系統(tǒng)sendmail。***種方式用起來非常規(guī)范,但更麻煩,例如需要做地址解析、修改郵件服務器的配置;另外還有一個問題-它還依賴別的系統(tǒng),增加了故障點和復雜度。第二種方法十分簡單,只需啟動sendmail服務即可,而且它不再依賴于別的系統(tǒng)和服務。在我工作的實際場景,這兩種方法都使用,用專門的郵件服務器會有發(fā)送延遲的情況(因為郵件服務器要處理很多其他用戶郵件的收發(fā));而直接用sendmail做服務器和客戶端就異常簡單和方便了。非常幸運的是,幾乎所有的linux/unix發(fā)行版都默認安裝sendmail,費了這么多筆墨,其實就做一個動作-把sendmail服務運行起來。
4、手機短信發(fā)送工具。
我現(xiàn)在的公司有自己的短信通道,直接把發(fā)送短信的客戶端程序sms_send拷貝到目錄/usr/local/bin/下。如果沒有短信下發(fā)的網關通道,那怎么辦呢?網絡上有很多短信發(fā)送的客戶端程序,很有名的就是smsclient,把它下載下來,解包后安裝。不要忘記購買手機modem和手機卡,modem只支持SIM卡而不支持cdma。安裝完smsclient軟件和硬件modem后,測試一下是否正常。
如果沒有modem又怎么辦?辦法還是有的:讓你的手機號可以接受郵件,這需要你去營業(yè)廳開通這項功能。短信報警功能是最有用的功能,我們不可能成天盯著監(jiān)視屏幕,也不可能成天接受電子郵件,但我們的手機卻可以24小時在線,只要被監(jiān)控對象發(fā)生故障,馬上就可以收到故障報警短信。以前,我很怕放長假,因為最擔心關鍵的設備或服務在假期出故障而自己不知道,所以放假就變成了值班;想必很多網絡管理員都有類似的經歷。在我動手部署nagios以前,曾經在網上搜索關于nagios配置的文章,發(fā)現(xiàn)絕大部分都沒有介紹使用手機短信這個方便的功能,真是遺憾呀!再次,強烈建議啟用nagios的短信故障報警功能。
【編輯推薦】