版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第十二章 監(jiān)控系統(tǒng)nagios俗話說:工欲善其事,必先利其器。要做好系統(tǒng)管理,使自己的工作更輕松更有效的話,一個好的監(jiān)控工具是必不可少的了。在2002年早些時候,我有幸承包中國科學(xué)院某研究所的整個網(wǎng)絡(luò)維護(hù)。當(dāng)時網(wǎng)絡(luò)狀況十分糟糕,斷網(wǎng)情況比較頻繁,造成這種情況的原因大致有兩種:內(nèi)部網(wǎng)絡(luò)聯(lián)網(wǎng)混亂。上聯(lián)到另外一個研究所,那里時不時操作不慎把上連的線路給弄掉了。為了了解網(wǎng)絡(luò)是否處于一個可用的狀態(tài),我上班的第一件事情就是打開網(wǎng)絡(luò)收音機(jī),根據(jù)聲音的有無進(jìn)行判斷。再往后兩年,有一些用于遠(yuǎn)程教育的服務(wù)器托管在亦莊某機(jī)房。這個機(jī)房的服務(wù)實在是很糟糕,曾有一段時間,網(wǎng)絡(luò)服務(wù)基本處于無法訪問的狀態(tài),打電話過去,那邊
2、敷衍說機(jī)房收到攻擊,馬上就會正常。我們不得不暫時相信他的托詞,為了知道何時網(wǎng)絡(luò)能恢復(fù)正常,我就在辦公室的電腦執(zhí)行ping服務(wù)器ip地址的操作。2005年秋天,我在一個sp公司做系統(tǒng)管理。這里有數(shù)百個服務(wù)器對外提供服務(wù),并且要求24小時運(yùn)營保障。這種網(wǎng)絡(luò)環(huán)境下,再用聽在線收音機(jī)或者ping來判斷網(wǎng)絡(luò)是否正常,是沒有什么效果的。幸好,在我接手的時候,已經(jīng)有了一個監(jiān)控系統(tǒng)netsaint(nagios的早期版本名稱),后來我把它升級成最新的nagios。通過逐步完善這個監(jiān)控平臺,取得比較理想的運(yùn)營效果:只需帶著手機(jī),有故障會自動發(fā)短信報警。12.1 nagios概述Nagios官方網(wǎng)站的描述:Nag
3、ios is an open source host, service and network monitoring program. Who uses it? Lots of people, including many big companies and organizations:Nagios是一個用來監(jiān)控主機(jī)、服務(wù)和網(wǎng)絡(luò)的開放源碼軟件,很多大的公司和組織都在使用它。首先,我們來看實際工作中需要監(jiān)控的對象有哪些?在這里我總結(jié)出兩種類型的監(jiān)控對象:網(wǎng)絡(luò)服務(wù)監(jiān)控及主機(jī)資源監(jiān)控。網(wǎng)絡(luò)服務(wù)監(jiān)控可包括主機(jī)存活檢查、web服務(wù)監(jiān)控、ftp服務(wù)監(jiān)控、數(shù)據(jù)庫服務(wù)監(jiān)控、自定義服務(wù)監(jiān)控等;主機(jī)資源監(jiān)控可包括
4、系統(tǒng)負(fù)載、當(dāng)前ip鏈接數(shù)、磁盤空間使用情況、當(dāng)前進(jìn)程數(shù)以及自定義的資源監(jiān)控等。其次,我們再來看nagios監(jiān)控的表現(xiàn)形式。監(jiān)控的主要目的是當(dāng)監(jiān)控的對象發(fā)生故障或資源緊張時及時通知相關(guān)人員,以便問題得到迅速的處理。追求的效果就是“在老板和客戶發(fā)現(xiàn)問題之前得到及時、有效的通知”。假定故障通知來自老板,我想大家都不會很愉快的。Nagios為了方便我們的管理工作,提供了至少3種表現(xiàn)形式:1、web方式,即通過瀏覽器觀看被監(jiān)控的對象;如正常狀態(tài)下,其狀態(tài)(status)是以藍(lán)色填充并顯示一個OK。2、郵件通知,發(fā)生故障時,到達(dá)設(shè)定重試次數(shù)和探測間隔時間后發(fā)送郵件給管理員或相關(guān)人員,報告問題的大致情況。3
5、、手機(jī)短信,這是非常有用和及時的功能了;晚上熟睡中,再也沒可能看web頁面或查閱郵件,可以一旦發(fā)生故障,手機(jī)短信卻能把你隨時喚醒。一般情況下,這3者是同時進(jìn)行的:上班時間開個瀏覽器看頁面顯示、打開郵件程序定時收取郵件、手機(jī)24小時在線。最后,我們以一個實際場景來展示nagios的強(qiáng)大功能,希望對大家的系統(tǒng)管理工作有所幫助。12.2 nagios監(jiān)控場景描述為了描述問題方便,我們假定有5個服務(wù)器要監(jiān)控(web服務(wù)器、數(shù)據(jù)庫服務(wù)器、郵件服務(wù)器、nfs文件共享服務(wù)器),需要對幾個服務(wù)器的服務(wù)進(jìn)行監(jiān)控,同時監(jiān)控每個服務(wù)器的資源使用情況,包括負(fù)載情況、磁盤分區(qū)使用情況、總進(jìn)程數(shù)、當(dāng)前ip連接數(shù)這個4個項
6、目(當(dāng)然你也可以自己寫腳本監(jiān)控更多的資源對象)。這些服務(wù)器除了系統(tǒng)管理員而外,還有其他用戶(如程序員)對各自的服務(wù)器進(jìn)行維護(hù);當(dāng)發(fā)生故障的時候,維護(hù)網(wǎng)站的程序員能收到報警郵件和報警短信,而管理數(shù)據(jù)庫管理員則無需收到這些報警,同時維護(hù)程序的用戶可以以自己的帳號登陸監(jiān)控服務(wù)器,通過web方式察看自己所管服務(wù)器的狀態(tài)(只能看自己的而看不到別人管轄服務(wù)器的狀態(tài))。通過上面的描述,我們可以整理出表12-1:機(jī)器名稱角色可查看狀態(tài)及接受報警信息的用戶所需工具Nagios服務(wù)器監(jiān)控端系統(tǒng)管理員(SA)Apache、nagios、nagios plugin、sendmail、perl等郵件服務(wù)器被監(jiān)控端系統(tǒng)管
7、理員、郵件管理員Nrpe、nagios plugin、自定義腳本等數(shù)據(jù)庫服務(wù)器被監(jiān)控端系統(tǒng)管理員、dbaNrpe、nagios plugin、自定義腳本等Web服務(wù)器被監(jiān)控端系統(tǒng)管理員、webmasterNrpe、nagios plugin、自定義腳本等Nfs共享服務(wù)器被監(jiān)控端系統(tǒng)管理員Nrpe、nagios plugin、自定義腳本等緩存服務(wù)器(squid)被監(jiān)控端系統(tǒng)管理員、webmasterNrpe、nagios plugin、自定義腳本等表12-1 監(jiān)控場景匯總配置好nagios和被監(jiān)控機(jī)器后,其在瀏覽器里的基本輸出與圖12-1類似:圖12-1 web方式查看nagios監(jiān)控狀態(tài)12.
8、3 Nagios服務(wù)器的自我監(jiān)控實現(xiàn)要實現(xiàn)資源和服務(wù)兩個方面的監(jiān)控,需要配置服務(wù)器端(nagios server)及被監(jiān)控端(NRPE-nagios remote plugin executor)。為了能順利地、有條理的部署nagios監(jiān)控平臺,一個好的工作風(fēng)格是在nagios server自身實現(xiàn)服務(wù)和資源的監(jiān)控,然后再在其他監(jiān)控端部署nrpe,從nagios server端用check_nrpe測試通過后,再在nagios server配置文件中逐一增加監(jiān)控項目。當(dāng)然如果只是監(jiān)控服務(wù)而不監(jiān)控主機(jī)資源,則被監(jiān)控端不做任何nrpe的安裝。為了方便初學(xué)者更容易上手和成功,我們就從簡單的步驟開始。
9、 配置郵件發(fā)送功能因為報警郵件發(fā)送給用戶郵箱后,監(jiān)控系統(tǒng)本身沒有必要接受別的郵件服務(wù)器發(fā)送的郵件,因此只需要使用服務(wù)器本身自帶的sendmail來發(fā)送報警信息即可。用sendmail的另外一個目的就是簡便。如果系統(tǒng)是redhat 或 centos ,只需執(zhí)行 service sendmail start 啟動守護(hù)進(jìn)程,然后再用dns服務(wù)器給它一個合法的域名(即A記錄),馬上就可以用mail命令來發(fā)送測試郵件到你的某個電子郵箱里了。收到測試郵件,就說明郵件系統(tǒng)配置結(jié)束,是不是很容易呢?這里給一個發(fā)送郵件的例子: mail -s “This is serys nagios test mail” n
10、ew;$md5-add($souce_content);my $result_conent = uc($md5-hexdigest); sery&Password=(-BVG0&Mobile=$mobile&Content=$content&Keyword=$result_conent;my $result = get $url;if($log_control) my $fh; open($fh, /var/log/sms.log) or die cant open log: $!; print $fh join( , time, $result, n); close $fh;(以上腳本由宇捷
11、提供)說明:1、my $key = Ysdbyhd6T 短信服務(wù)商給的驗證關(guān)鍵字。2、my $url=”.” 短信服務(wù)商給的用戶名、密碼以及短信服務(wù)商的訪問接口(url)全包括在這里了。我們把這個文件放在目錄 /usr/local/bin/ 下面,把它命名為 sms_send.pl ,用命令 chomod +x /usr/local/bin/sms.pl 給與它執(zhí)行權(quán)限。這個腳本在各種各樣的unix、linux下都可以正常工作,nagios報警短信發(fā)送就是靠它了。如果讀者也打算拿這個腳本發(fā)送短信的話,只要改一下key值和url值就可以直接使用。 安裝apacheApache應(yīng)該是我們最常用的部
12、署了,它可以被弄得很復(fù)雜,但在nagios 這個平臺上,我們只需要簡單的功能即可,為了驗證用戶,我們稍微加一點(diǎn)修改就行了。這樣做也是為了體現(xiàn)“越簡單越容易的思想”。做得簡單,以后重新部署或恢復(fù)就越迅速、越?jīng)]壓力。(一) 安裝apachetar zxvf httpd-.tar.gzcd httpd-./configure -prefix=/usr/local/apache #僅僅需要這么一個選項makemake install(二) 檢查apache是否被正確的安裝1、執(zhí)行 /usr/local/apache/bin/apachectl t 檢查apache的配置文件語法是否正確。未經(jīng)更改的ap
13、ache配置文件語法顯然是正確無誤的,當(dāng)我們對配置文件httpd.conf 或其包含的文件作了更改的時候,最好先運(yùn)行一下這個命令,它的錯誤輸出能迅速定位配置文件哪里出現(xiàn)了錯誤。2、執(zhí)行命令行 /usr/local/apache/bin/apachectl start 啟動apache守護(hù)進(jìn)程,在別的機(jī)器的瀏覽器里輸入這個服務(wù)器的ip地址,看是否可以正常瀏覽apache的默認(rèn)頁面通常是一個“IT works!”。為了方便以后維護(hù)apache 更方便些,我們可以修改環(huán)境變量文件/etc/profile,在文件的末尾追加行 “export PATH=$PATH:/usr/local/apache/b
14、in “,保存后執(zhí)行 source /etc/profile 使其修改立即生效,這樣我們以后執(zhí)行apache 啟動之類的命令就不必輸很長一串路徑,直接輸入 apachectl start 就可以了。(三)修改apache配置文件httpd.conf 1、修改apache運(yùn)行用戶和組。默認(rèn)是daemon,需要把它改成nagios。這樣它才能有權(quán)限訪問我們安裝的nagios目錄,執(zhí)行相關(guān)的cgi命令,如通過瀏覽器界面關(guān)閉nagios、停止某個故障對象發(fā)送報警信息等。 2、添加nagios訪問目錄(nagios 的安裝路徑/usr/local/nagios),同時使用http用戶驗證。把下面的內(nèi)容追
15、加到httpd.conf文件的末尾: ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin AuthType Basic Options ExecCGI AllowOverride None Order allow,deny Allow from all AuthName Nagios Access AuthUserFile /usr/local/nagios/etc/htpasswd Require valid-user Alias /nagios /usr/local/nagios/share AuthType Basic Options N
16、one AllowOverride None Order allow,deny Allow from all AuthName nagios Access AuthUserFile /usr/local/nagios/etc/htpasswd Require valid-user 照這樣一種方式修改配置文件,保證不會把配置文件改得一塌糊涂,我相信大部分初學(xué)者都有把文件修改后而不知道文件本身的原貌。到這步配置文件雖然修改好了,但還不能通過語法檢查,因為有2個與之相關(guān)聯(lián)的東西還不存在,他們是用戶和組nagios及apache的驗證用戶文件/usr/local/nagios/etc/htpasswd
17、 .在后續(xù)操作中完成這任務(wù)后,再驗證不遲。特別提示:nagios3.2使用php 作為其web解析,因此需要安裝php環(huán)境。如何知道?打開nagios目錄 /usr/local/nagios/share看一眼,就知道了。nagios2版本不是這樣,純html。 部署nagios服務(wù)(一) 添加帳戶,以用來運(yùn)行Nagios。當(dāng)然也可以用root運(yùn)行,但出于安全考慮而使用普通帳號來運(yùn)行,并且不給這個賬號分配shell登錄權(quán)限。1、 linux增加帳號的操作為 useradd nagios s /sbin/nologin 添加帳號就自動生成同名組 nagios。2、 freebsd增加帳號的操作為
18、pw groupadd nagios ; pw useradd nagios g nagios s /sbin/nologin.注意:不要給nagios用戶設(shè)置密碼。(二) 安裝nagios軟件tar zxvf cd nagios-2.9./configure prefix=/usr/local/nagios -with-nagios-user=nagios -with-nagios-group=nagios make allmake install 執(zhí)行完這個步驟后,程序會提示依次運(yùn)行 make install-init , make install-commandmode ,make in
19、stall-config 這幾個命令。我們選取其中的兩個來執(zhí)行:make install-commandmodemake install-config 跟一般的gnu源碼軟件安裝相比,nagios的安裝多了幾個步驟(一般的軟件運(yùn)行到make install就算安裝完了)。當(dāng)然也可以連這兩步都不執(zhí)行,用手工賦予目錄或文件權(quán)限,再手動創(chuàng)建配置文件,其效果完全相同。安裝完nagios后,我們可以在安裝目錄/usr/local/nagios下找到自動生成的各個子目錄,如表12-2所示: binNagios執(zhí)行程序所在目錄,這個目錄只有一個文件nagiosetcNagios配置文件位置,初始安裝完后,只
20、有幾個*.cfg-sample文件sbinNagios Cgi文件所在目錄,也就是執(zhí)行外部命令所需文件所在的目錄shareNagios網(wǎng)頁文件所在的目錄varNagios日志文件、spid 等文件所在的目錄表12-2 nagios目錄結(jié)構(gòu)(三) 安裝nagios插件沒有插件,nagios將什么作用也沒有,插件也是nagios擴(kuò)展功能的強(qiáng)大武器,除了下載常用的插件外,我們還可以根據(jù)實際要求編寫自己的插件。Nagios的插件nagios-plugins-1.4.9在上可以找到,接著我們用wget下載它。注意:插件與nagios之間的版本關(guān)聯(lián)不大,不一定非得用nagios-plugins-1.4.9
21、這個版本。下載完成后,安裝它是很簡單的:先執(zhí)行配置 ./configure prefix=/usr/local/nagios ,接著編譯安裝 make ; make install即可。這里需要說明一下的是在配置過程指定的安裝路徑是/usr/local/nagios,而不是/usr/local/nagios-plus,安裝完成后,將在目錄/usr/local/nagios生成子目錄libexec(里面有很多文件),這正是nagios所需要的。如圖12-2所示:圖12-2 nagios插件文件列表(四) 配置nagios配置是nagios最復(fù)雜的部分,讓我們耐心一些,逐個處理,配置成功也不是什么
22、難事。剛安裝完成的nagios,其配置文件的目錄是/usr/local/nagios/etc,圖12-3是其etc目錄的文件: 圖12-3 etc目錄文件列表先把這些文件改名,如 cgi.cfg-sample改成cgi.cfg ,用命令cp cgi.cfg-sample cgi.cfg 依樣把余下的幾個*.cfg-sample都復(fù)制成*.cfg文件。從nagios2.6版開始,不用修改配置文件localhost.cfg就可以直接運(yùn)行./bin/nagios v nagios.cfg驗證程序是否能正常運(yùn)行(nagios2.5及以前版本的最小運(yùn)行的配置文件是minimal.cfg,但需要修改這個文
23、件多處才能驗證成功)。當(dāng)然,我們不能指望這個最小的配置文件能夠滿足實際的需求,因此,需要對現(xiàn)有的配置文件進(jìn)行修改,其次增加自定義的一些配置文件。通過復(fù)制這些自帶的模板文件,我們可以得出幾個主要的配置文件,我們可以把它歸類為表12-3的形式:類型名包含文件作用備注主配置文件nagios.cfg定義和控制nagios行為需要修改Cgi配置文件cgi.cfg瀏覽器執(zhí)行諸如重啟nagios服務(wù)等修要修改宏定義文件Resource.cfg定義插件路徑不需修改命令定義文件Commands.cfg定義怎么發(fā)送短信、郵件等需要修改其他文件contactgroups.cfg,contacts.cfg,hostg
24、roups.cfg,hosts.cfg,services.cfg監(jiān)控對象配置文件,如主機(jī)配置文件、聯(lián)系人配置文件等主配置文件包含,手動創(chuàng)建表12-3 配置文件歸類依照這個表格,我們逐一配置之。1、修改主配置文件nagios.cfg.基于方便維護(hù)的原則,把各個配置目標(biāo)單獨(dú)放在文件中,如聯(lián)系人信息在contacts.cfg中定義。Nagios.cfg文件比較長,我只把修改過的內(nèi)容貼出來: #注釋或刪掉這行#cfg_file=/usr/local/nagios/etc/localhost.cfg #主機(jī)配置文件路徑cfg_file=/usr/local/nagios/etc/hosts.cfg#/主
25、機(jī)組配置文件路徑cfg_file=/usr/local/nagios/etc/hostgroups.cfg #聯(lián)系人配置文件路徑 cfg_file=/usr/local/nagios/etc/contacts.cfg #聯(lián)系組配置文件路徑 cfg_file=/usr/local/nagios/etc/contactgroups.cfg #服務(wù)配置文件路徑 cfg_file=/usr/local/nagios/etc/services.cfg #監(jiān)視時段配置文件路徑 cfg_file=/usr/local/nagios/etc/timeperiods.cfg #在web界面下重啟nagios、停
26、止主機(jī)/服務(wù)檢查等操作,.默認(rèn)值是0. check_external_commands=1 #根據(jù)自己的情況定這個命令檢查時間間隔.默認(rèn)值是1秒.command_check_interval=10s 2、修改cgi配置文件cgi.cfg.跟修改nagios.cfg一樣,只貼出被修改之處: #如有多個用戶,中間用逗號隔開 authorized_for_system_information=sery authorized_for_configuration_information=sery authorized_for_system_commands=sery authorized_for_all
27、_services=sery authorized_for_all_hosts=nagiosadmin,sery authorized_for_all_service_commands=sery authorized_for_all_host_commands=sery在這里指定的用戶”sery”可以通過瀏覽器操縱nagios服務(wù)的關(guān)閉、重啟等各種操作。3、 修改commands.cfg配置文件 修改notify-host-by-email host-notify-by-email 修改notify-service-by-email service-notify-by-email 新增以下內(nèi)容
28、: # check_nrpe command definitiondefine command command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ # host-notify-by-sms command definition define command command_name host-notify-by-sms command_line /usr/local/bin/sms.pl $CONTACTPAGER$ $NOTIFICATIONTYPE$ alert - Host
29、$HOSTNAME$ is $HOSTSTATE$ # service-notify-by-sms command definition define command command_name service-notify-by-sms command_line /usr/local/bin/sms.pl $CONTACTPAGER$ $NOTIFICATIONTYPE$: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ 第而個塊定義主機(jī)報警的內(nèi)容,即主機(jī)發(fā)生死機(jī)、恢復(fù)等情況發(fā)送手機(jī)短信報警,其接受者和發(fā)送內(nèi)容由“$.$”定義的宏來決定。第三個塊定義服務(wù)
30、報警內(nèi)容,即監(jiān)控的服務(wù)或監(jiān)控的主機(jī)資源發(fā)生故障時發(fā)送手機(jī)報警短信。Nagios規(guī)定,如果探測到被監(jiān)控的主機(jī)停機(jī)或不可達(dá),它就不再探測這個停機(jī)主機(jī)上的服務(wù)。通俗地一點(diǎn)理解:主機(jī)都停了,當(dāng)然服務(wù)也跟著停了!另外一個需要注意的地方是命令行(command_line)路徑一定要用全路徑,這里調(diào)用的命令就是我們在全面編寫的那個腳本sms.pl。4、新增其他配置文件在主配置文件nagios.cfg中,我們注釋了行 cfg_file=/usr/local/nagios/etc/localhost.cfg ,而使用若干單獨(dú)的配置文件來定義各種對象,這樣可以獲得維護(hù)方便、書寫規(guī)范等諸多方面的好處。這些單獨(dú)的配置
31、文件不是自然存在的,我們需要手工創(chuàng)建并添加內(nèi)容。當(dāng)然,一開始我們并不是很清楚怎么往這些文件里添加內(nèi)容,只好回過頭去看官方文檔,天啦,太分散了,盡然不知道怎么著手了!怎么辦?打開文件localhost.cfg-sample,心里基本上就有數(shù)了:無非是把這個文件拆分開來,形成多個文件嘛!下面我按新添一個主機(jī)進(jìn)入監(jiān)控的較優(yōu)方式添加這些配置文件(當(dāng)然也可以有其它的順序,這并不影響監(jiān)控的效果)。好了,我們先把nagios服務(wù)器本身給監(jiān)控上,這些監(jiān)控包括:主機(jī)存活、web服務(wù)監(jiān)控、磁盤空間監(jiān)控、負(fù)載監(jiān)控、進(jìn)程數(shù)監(jiān)控、ip連接數(shù)監(jiān)控。(1)、定義主機(jī)配置文件hosts.cfg define host hos
32、t_name nagios-server alias nagios server address contact_groups sagroup check_command check-host-alive max_check_attempts 5 notification_interval 10 notification_period 24x7 notification_options d,u,r 說明: 聯(lián)系組contact_group沒有建立,需在后面的步驟完成。 主機(jī)檢查命令行一般選擇檢查主機(jī)存活check-host-alive。 最大嘗試次數(shù)最好不要設(shè)置為“1”,一般3-4次比較合理。
33、 通知時間間隔notification_interval 根據(jù)自己實際情況設(shè)定,它的單位是分鐘。 通知選項notification_options 幾個值的意思是 d-down,u-unreacheable,r-recovery.(2)、定義主機(jī)組配置文件hostgroups.cfg define hostgroup hostgroup_name sa-servers alias sa servers members nagios-server 說明: 這個配置文件不是必須的,為了在瀏覽器里方便歸類及察看狀態(tài),可以添加這個文件。 主機(jī)組的成員必須是在hosts.cfg里已經(jīng)定義了的,多個主機(jī)成
34、員間用逗號分隔。(3)、定義聯(lián)系人配置文件contacts.cfg define contact contact_name sery alias system administrator service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r host_notification_options d,u,r service_notification_commands service-notify-by-email,service-notify-by-sm
35、s host_notification_commands host-notify-by-email,host-notify-by-sms 說明: 服務(wù)通知選項 w-warning,u-unknown,c-critical,r-recovery. 主機(jī)通知選項 d-down,u-unreacheable,r-recovery。 服務(wù)通知命令行及服務(wù)通知命令行在配置文件commands.cfg中得到定義,如果有報警發(fā)生,則郵件和手機(jī)短信一起發(fā)送給相關(guān)人,即下兩行定義的email,pager. 收報警信息的郵件和手機(jī),一個人如有2個手機(jī),手機(jī)號之間有逗號分隔,郵件也如此。 如果這里定義的用戶需要通過
36、瀏覽器察看他所負(fù)責(zé)的服務(wù)器監(jiān)控狀態(tài)的話,還需要 用apache的工具h(yuǎn)tpasswd增加同名帳號。(4)、定義聯(lián)系組配置文件contactgroups.cfg define contactgroup contactgroup_name sagroup alias system administrator group members sery 說明: 當(dāng)有多個人行使同樣的職責(zé)時,定義成組是非常有用的。 多個成員之間用逗號分隔。 成員必須在聯(lián)系人配置文件(contacts.cfg)已經(jīng)定義。(5)、定義服務(wù)配置文件 services.cfg define service host_name nag
37、ios-server service_description check-host-alive check_period 24x7 max_check_attempts 4 normal_check_interval 3 retry_check_interval 2 contact_groups sagroup notification_interval 10 notification_period 24x7 notification_options w,u,c,r check_command check-host-alive define service host_name nagios-s
38、erver service_description check_tcp 80 check_period 24x7 max_check_attempts 4 normal_check_interval 3 retry_check_interval 2 contact_groups sagroup notification_interval 10 notification_period 24x7 notification_options w,u,c,r check_command check_tcp!80 define service host_name nagios-server service
39、_description check-disk check_command check_nrpe!check_df max_check_attempts 4 normal_check_interval 3 retry_check_interval 2 check_period 24x7 notification_interval 10 notification_period 24x7 notification_options w,u,c,r contact_groups sagroup define service host_name nagios-server service_descrip
40、tion check-load check_command check_nrpe!check_load max_check_attempts 4 normal_check_interval 3 retry_check_interval 2 check_period 24x7 notification_interval 10 notification_period 24x7 notification_options w,u,c,r contact_groups sagroup define service host_name nagios-server service_description t
41、otal_procs check_command check_nrpe!check_total_procs max_check_attempts 4 normal_check_interval 3 retry_check_interval 2 check_period 24x7 notification_interval 10 notification_period 24x7 notification_options w,u,c,r contact_groups sagroup 說明: 主機(jī)名 host_name,必須是主機(jī)配置文件hosts.cfg中定義的主機(jī)。 檢查用的命令 check_c
42、ommand,在命令配置文件中定義或在nrpe配置文件中有定義。 最大重試次數(shù) max_check_attempts 一般設(shè)置為3-4次比較好,這樣不會因為網(wǎng)絡(luò)閃斷片刻而發(fā)生誤報。 檢查間隔和重試檢查間隔的單位是分鐘。 通知間隔指探測到故障以后,每隔多少時間發(fā)送一次報警信息。它的單位是分鐘。 通知選項跟服務(wù)定義配置文件相同。 聯(lián)系組contact_groups由配置文件contactgroup.cfg定義。 檢查主機(jī)資源需要安裝和配置nrpe,這個過程在后面完成。 部署NRPE(一)安裝nrpe tar zxvf nrpe-.tar.gz cd nrpe-./configure prefix=
43、/usr/local/nrpe make make install注:如果在其他被監(jiān)控機(jī)安裝nrpe,需要添加系統(tǒng)用戶nagios.(二)復(fù)制文件安裝完nrpe后,在安裝目錄/usr/local/nrpe/libexec只有一個文件check_nrpe,而在nagios插件目錄,卻缺少這個文件,因此需要把這個文件復(fù)制到nagios插件目錄;同樣,因為nrpe需要調(diào)用的諸如check_disk等插件在自己的目錄沒有,可是這些文件確是nagios插件所存在的,所以也需要從nagios目錄復(fù)制一份過來。我們把復(fù)制過程列舉出來: cp /usr/local/nrpe/libexec/check_nrp
44、e /usr/local/nagios/libexec cp /usr/local/nagios/libexec/check_disk /usr/local/nrpe/libexec cp /usr/local/nagios/libexec/check_load /usr/local/nrpe/libexec cp /usr/local/nagios/libexec/check_ping /usr/local/nrpe/libexec cp /usr/local/nagios/libexec/check_procs /usr/local/nrpe/libexec(三)配置nrpe安裝完nrpe
45、以后,在安裝目錄并沒有可用的配置文件,但我們只需把解壓目錄的樣例文件復(fù)制到安裝目錄,然后修改這個文件.1、 mkdir /usr/local/nrpe/etc2、 cp sample-config/nrpe.cfg /usr/local/nrpe/etc3、 修改配置文件/usr/local/nrpe/etc/nrpe.cfg.該過的地方用粗體顯示: pid_file=/var/run/nrpe.pid server_port=5666 #以單獨(dú)的守護(hù)進(jìn)程運(yùn)行 nrpe_user=nagios nrpe_group=nagios dont_blame_nrpe=0 debug=0 comman
46、d_timeout=60 connection_timeout=300 # The following examples use hardcoded command arguments. commandcheck_users=/usr/local/nrpe/libexec/check_users -w 5 -c 10 commandcheck_load=/usr/local/nrpe/libexec/check_load -w 15,10,5 -c 30,25,20 #commandcheck_hda1=/usr/local/nrpe/libexec/check_disk -w 20 -c 1
47、0 -p /dev/hda1 commandcheck_df=/usr/local/nrpe/libexec/check_disk -w 20 -c 10 commandcheck_zombie_procs=/usr/local/nrpe/libexec/check_procs -w 5 -c 10 -s Z commandcheck_total_procs=/usr/local/nrpe/libexec/check_procs -w 150 -c 200 commandcheck_ips=/usr/local/nrpe/libexec/ip_conn.sh 8000 10000說明: 必須允
48、許nagios監(jiān)控服務(wù)器可以訪問。 commandcheck_df=/usr/local/nrpe/libexec/check_disk -w 20 -c 10 檢查整個服務(wù)器的磁盤利用率;如果是freebsd系統(tǒng),因為其/dev分區(qū)為100%,需要排除這個分區(qū),因此其命令行應(yīng)該為 “commandcheck_df=/usr/local/nrpe/libexec/check_disk -x /dev -w 20 -c 10”。 commandcheck_ips=/usr/local/nrpe/libexec/ip_conn.sh 8000 10000 ip連接數(shù),ip_conn.sh腳本需要自
49、己寫,下面給出腳本的內(nèi)容:#!/bin/sh#if $# -ne 2 #then# echo Usage:$0 -w num1 -c num2#exit 3#fiip_conns=netstat -an | grep tcp | grep EST | wc -l if $ip_conns -lt $1 then echo OK -connect counts is $ip_conns exit 0 fi if $ip_conns -gt $1 -a $ip_conns -lt $2 then echo Warning -connect counts is $ip_conns exit 1 fi if $ip_conns -gt $2 then echo Critical -connect counts is $ip_conns exit 2 fi 我在nrpe配置文件nrpe.cfg把腳本所需的兩個參數(shù)寫上了,因此這個腳本就不需判 斷兩個參數(shù)輸入值的情況。只要當(dāng)前ip連接數(shù)大于8000,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年七夕節(jié)的品牌活動策劃
- 2026年高效三維建模的算法與實現(xiàn)
- 2026年交通運(yùn)輸中的流體力學(xué)優(yōu)化設(shè)計
- 2025年國藥集團(tuán)財務(wù)方面筆試及答案
- 2025年縣城疾控中心筆試題庫及答案
- 2026年高性能防火材料的研發(fā)與市場分析
- 2025年登封事業(yè)單位考試筆試題及答案
- 2026年上海政法學(xué)院公開招聘筆試模擬試題及答案解析
- 武漢大學(xué)人民醫(yī)院科研助理招聘7人筆試參考題庫及答案解析
- 2026年建筑工程安全事故案例分析與教訓(xùn)
- 全過程咨詢技術(shù)標(biāo)-監(jiān)理大綱篇
- 2024年國務(wù)院安全生產(chǎn)和消防工作考核要點(diǎn)解讀-企業(yè)層面
- DB65-T 4828-2024 和田玉(子料)鑒定
- 小學(xué)數(shù)學(xué)解題研究(小學(xué)教育專業(yè))全套教學(xué)課件
- 直播場景搭建與布局設(shè)計
- 數(shù)據(jù)生命周期管理與安全保障
- 早期胃癌出院報告
- 吊頂轉(zhuǎn)換層設(shè)計圖集
- 優(yōu)勝教育機(jī)構(gòu)員工手冊范本規(guī)章制度
- 120MPa輕質(zhì)高強(qiáng)混凝土的配制技術(shù)
- 山地造林施工設(shè)計方案經(jīng)典
評論
0/150
提交評論