【移動(dòng)應(yīng)用開發(fā)技術(shù)】Linux下Nagios的安裝與配置 一_第1頁
【移動(dòng)應(yīng)用開發(fā)技術(shù)】Linux下Nagios的安裝與配置 一_第2頁
【移動(dòng)應(yīng)用開發(fā)技術(shù)】Linux下Nagios的安裝與配置 一_第3頁
【移動(dòng)應(yīng)用開發(fā)技術(shù)】Linux下Nagios的安裝與配置 一_第4頁
【移動(dòng)應(yīng)用開發(fā)技術(shù)】Linux下Nagios的安裝與配置 一_第5頁
已閱讀5頁,還剩17頁未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

【移動(dòng)應(yīng)用開發(fā)技術(shù)】Linux下Nagios的安裝與配置一

一、Nagios簡(jiǎn)介注:以下文檔跟據(jù)網(wǎng)上下載文檔進(jìn)行稍做修改,聯(lián)系人使用組,主機(jī)使用組,供參考!Nagios是一款開源的電腦系統(tǒng)和網(wǎng)絡(luò)監(jiān)視工具,能有效監(jiān)控Windows、Linux和Unix的主機(jī)狀態(tài),交換機(jī)路由器等網(wǎng)絡(luò)設(shè)置,打印機(jī)等。在系統(tǒng)或服務(wù)狀態(tài)異常時(shí)發(fā)出郵件或短信報(bào)警第一時(shí)間通知網(wǎng)站運(yùn)維人員,在狀態(tài)恢復(fù)后發(fā)出正常的郵件或短信通知。Nagios原名為NetSaint,由EthanGalstad開發(fā)并維護(hù)至今。NAGIOS是一個(gè)縮寫形式:"NagiosAin'tGonnaInsistOnSainthood"Sainthood翻譯為圣徒,而"Agios"是"saint"的希臘表示方法。Nagios被開發(fā)在Linux下使用,但在Unix下也工作得非常好。主要功能·網(wǎng)絡(luò)服務(wù)監(jiān)控(SMTP、POP3、HTTP、NNTP、ICMP、SNMP、FTP、SSH)·主機(jī)資源監(jiān)控(CPUload、diskusage、systemlogs),也包括Windows主機(jī)(使用NSClient++plugin)·可以指定自己編寫的Plugin通過網(wǎng)絡(luò)收集數(shù)據(jù)來監(jiān)控任何情況(溫度、警告……)·可以通過配置Nagios遠(yuǎn)程執(zhí)行插件遠(yuǎn)程執(zhí)行腳本·遠(yuǎn)程監(jiān)控支持SSH或SSL加通道方式進(jìn)行監(jiān)控·簡(jiǎn)單的plugin設(shè)計(jì)允許用戶很容易的開發(fā)自己需要的檢查服務(wù),支持很多開發(fā)語言(shellscripts、C++、Perl、ruby、Python、PHP、C#等)·包含很多圖形化數(shù)據(jù)Plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios等)·可并行服務(wù)檢查·能夠定義網(wǎng)絡(luò)主機(jī)的層次,允許逐級(jí)檢查,就是從父主機(jī)開始向下檢查·當(dāng)服務(wù)或主機(jī)出現(xiàn)問題時(shí)發(fā)出通告,可通過email,pager,sms或任意用戶自定義的plugin進(jìn)行通知·能夠自定義事件處理機(jī)制重新激活出問題的服務(wù)或主機(jī)·自動(dòng)日志循環(huán)·支持冗余監(jiān)控·包括Web界面可以查看當(dāng)前網(wǎng)絡(luò)狀態(tài),通知,問題歷史,日志文件等二、Nagios工作原理Nagios的功能是監(jiān)控服務(wù)和主機(jī),但是他自身并不包括這部分功能,所有的監(jiān)控、檢測(cè)功能都是通過各種插件來完成的。啟動(dòng)Nagios后,它會(huì)周期性的自動(dòng)調(diào)用插件去檢測(cè)服務(wù)器狀態(tài),同時(shí)Nagios會(huì)維持一個(gè)隊(duì)列,所有插件返回來的狀態(tài)信息都進(jìn)入隊(duì)列,Nagios每次都從隊(duì)首開始讀取信息,并進(jìn)行處理后,把狀態(tài)結(jié)果通過web顯示出來。Nagios提供了許多插件,利用這些插件可以方便的監(jiān)控很多服務(wù)狀態(tài)。安裝完成后,在nagios主目錄下的/libexec里放有nagios自帶的可以使用的所有插件,如,check_disk是檢查磁盤空間的插件,check_load是檢查CPU負(fù)載的,等等。每一個(gè)插件可以通過運(yùn)行./check_xxx–h來查看其使用方法和功能。Nagios可以識(shí)別4種狀態(tài)返回信息,即0(OK)表示狀態(tài)正常/綠色、1(WARNING)表示出現(xiàn)警告/×××、2(CRITICAL)表示出現(xiàn)非常嚴(yán)重的錯(cuò)誤/紅色、3(UNKNOWN)表示未知錯(cuò)誤/深×××。Nagios根據(jù)插件返回來的值,來判斷監(jiān)控對(duì)象的狀態(tài),并通過web顯示出來,以供管理員及時(shí)發(fā)現(xiàn)故障。四種監(jiān)控狀態(tài)再說報(bào)警功能,如果監(jiān)控系統(tǒng)發(fā)現(xiàn)問題不能報(bào)警那就沒有意義了,所以報(bào)警也是nagios很重要的功能之一。但是,同樣的,Nagios自身也沒有報(bào)警部分的代碼,甚至沒有插件,而是交給用戶或者其他相關(guān)開源項(xiàng)目組去完成的。Nagios安裝,是指基本平臺(tái),也就是Nagios軟件包的安裝。它是監(jiān)控體系的框架,也是所有監(jiān)控的基礎(chǔ)。打開Nagios官方的文檔,會(huì)發(fā)現(xiàn)Nagios基本上沒有什么依賴包,只要求系統(tǒng)是Linux或者其他Nagios支持的系統(tǒng)。不過如果你沒有安裝apache(http服務(wù)),那么你就沒有那么直觀的界面來查看監(jiān)控信息了,所以apache姑且算是一個(gè)前提條件。關(guān)于apache的安裝,網(wǎng)上有很多,照著安裝就是了。安裝之后要檢查一下是否可以正常工作。知道Nagios是如何通過插件來管理服務(wù)器對(duì)象后,現(xiàn)在開始研究它是如何管理遠(yuǎn)端服務(wù)器對(duì)象的。Nagios系統(tǒng)提供了一個(gè)插件NRPE。Nagios通過周期性的運(yùn)行它來獲得遠(yuǎn)端服務(wù)器的各種狀態(tài)信息。它們之間的關(guān)系如下圖所示:Nagios通過NRPE來遠(yuǎn)端管理服務(wù)1.Nagios執(zhí)行安裝在它里面的check_nrpe插件,并告訴check_nrpe去檢測(cè)哪些服務(wù)。2.通過SSL,check_nrpe連接遠(yuǎn)端機(jī)子上的NRPEdaemon3.NRPE運(yùn)行本地的各種插件去檢測(cè)本地的服務(wù)和狀態(tài)(check_disk,..etc)4.最后,NRPE把檢測(cè)的結(jié)果傳給主機(jī)端的check_nrpe,check_nrpe再把結(jié)果送到Nagios狀態(tài)隊(duì)列中。5.Nagios依次讀取隊(duì)列中的信息,再把結(jié)果顯示出來。三、實(shí)驗(yàn)環(huán)境HostNameOSIPSoftwareNagios-ServerCentOSrelease6.3(Final)08Apache、Php、Nagios、nagios-pluginsNagios-LinuxCentOSrelease5.8(Final)11nagios-plugins、nrpeNagios-WindowsWindowsXP13NSClient++Server安裝了nagios軟件,對(duì)監(jiān)控的數(shù)據(jù)做處理,并且提供web界面查看和管理。當(dāng)然也可以對(duì)本機(jī)自身的信息進(jìn)行監(jiān)控。Client安裝了NRPE等客戶端,根據(jù)監(jiān)控機(jī)的請(qǐng)求執(zhí)行監(jiān)控,然后將結(jié)果回傳給監(jiān)控機(jī)。防火墻已關(guān)閉/iptables:Firewallisnotrunning.SELINUX=disabled四、實(shí)驗(yàn)?zāi)繕?biāo)五、Nagios服務(wù)端安裝5.1基礎(chǔ)支持套件:gccglibcglibc-commongdgd-develxinetdopenssl-devel#rpm-qgccglibcglibc-commongdgd-develxinetdopenssl-devel如果系統(tǒng)中沒有這些套件,使用yum安裝#yuminstall-ygccglibcglibc-commongdgd-develxinetdopenssl-devel5.2創(chuàng)建nagios用戶和用戶組#useradd-s/sbin/nologinnagios#mkdir/usr/local/nagios#chown-Rnagios.nagios/usr/local/nagios查看nagios目錄的權(quán)限#ll-d/usr/local/nagios/5.3編譯安裝Nagios#wget/sourceforge/nagios/nagios-3.4.3.tar.gz#tarzxvfnagios-3.4.3.tar.gz#cdnagios#./configure--prefix=/usr/local/nagios#makeall#makeinstall#makeinstall-init#makeinstall-commandmode#makeinstall-config#chkconfig--addnagios#chkconfig--level35nagioson#chkconfig--listnagios5.4驗(yàn)證程序是否被正確安裝切換目錄到安裝路徑(這里是/usr/local/nagios),看是否存在etc、bin、sbin、share、var這五個(gè)目錄,如果存在則可以表明程序被正確的安裝到系統(tǒng)了。Nagios各個(gè)目錄用途說明如下:binNagios可執(zhí)行程序所在目錄etcNagios配置文件所在目錄sbinNagiosCGI文件所在目錄,也就是執(zhí)行外部命令所需文件所在的目錄shareNagios網(wǎng)頁文件所在的目錄libexecNagios外部插件所在目錄varNagios日志文件、lock等文件所在的目錄var/archivesNagios日志自動(dòng)歸檔目錄var/rw用來存放外部命令文件的目錄5.5安裝Nagios插件#wget/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz#tarzxvfnagios-plugins-1.4.16.tar.gz#cdnagios-plugins-1.4.16#./configure--prefix=/usr/local/nagios#make&&makeinstall5.6安裝與配置Apache和PhpApache和Php不是安裝nagios所必須的,但是nagios提供了web監(jiān)控界面,通過web監(jiān)控界面可以清晰的看到被監(jiān)控主機(jī)、資源的運(yùn)行狀態(tài),因此,安裝一個(gè)web服務(wù)是很必要的。需要注意的是,nagios在nagios3.1.x版本以后,配置web監(jiān)控界面時(shí)需要php的支持。這里我們下載的nagios版本為nagios-3.4.3,因此在編譯安裝完成apache后,還需要編譯php模塊,這里選取的php版本為php5.4.10。a.安裝Apache#wget/apache-mirror//httpd/httpd-2.2.23.tar.gz#tarzxvfhttpd-2.2.23.tar.gz#cdhttpd-2.2.23#./configure--prefix=/usr/local/apache2#make&&makeinstall若出現(xiàn)錯(cuò)誤:則在編譯時(shí)入加--with-included-apr即可解決。b.安裝Php#wget/distributions/php-5.4.10.tar.gz#tarzxvfphp-5.4.10.tar.gz#cdphp-5.4.10#./configure--prefix=/usr/local/php--with-apxs2=/usr/local/apache2/bin/apxs安裝php時(shí)的報(bào)錯(cuò)checkinglibxml2installdir...nocheckingforxml2-configpath...configure:error:xml2-confignotfound.Pleasecheckyourlibxml2installation檢查是否安裝了libxm包[root@XKWB3403php-5.3.8]#rpm-qa|greplibxml2libxml2-2.6.26-2.1.12libxml2-python-2.6.26-2.1.12重新安裝libxml2和libxml2-devel包yuminstalllibxml2yuminstall-ylibxml2-devel安裝完之后查找xml2-config文件是否存在[root@XKWB3403php-5.3.8]#find/-name"xml2-config"/usr/bin/xml2-config如果存在的話重新安裝php[root@XKWB3403php-5.3.8]#./configure安裝成功的標(biāo)志是之后再進(jìn)行編譯make&&makeinstall#make&&makeinstallc.配置apache找到apache的配置文件/usr/local/apache2/conf/httpd.conf找到:UserdaemonGroupdaemon修改為UsernagiosGroupnagios然后找到<IfModuledir_module>DirectoryIndexindex.html</IfModule>修改為接著增加如下內(nèi)容:AddTypeapplication/x-httpd-php.php,注意httpd-PHP后面空格。<IfModuledir_module>DirectoryIndexindex.htmlindex.phpAddTypeapplication/x-httpd-php.php</IfModule>為了安全起見,一般情況下要讓nagios的web監(jiān)控頁面必須經(jīng)過授權(quán)才能訪問,這需要增加驗(yàn)證配置,即在httpd.conf文件最后添加如下信息:#settingfornagiosScriptAlias/nagios/cgi-bin"/usr/local/nagios/sbin"<Directory"/usr/local/nagios/sbin">AuthTypeBasicOptionsExecCGIAllowOverrideNoneOrderallow,denyAllowfromallAuthName"NagiosAccess"AuthUserFile/usr/local/nagios/etc/htpasswd//用于此目錄訪問身份驗(yàn)證的文件Requirevalid-user</Directory>Alias/nagios"/usr/local/nagios/share"<Directory"/usr/local/nagios/share">AuthTypeBasicOptionsNoneAllowOverrideNoneOrderallow,denyAllowfromallAuthName"nagiosAccess"AuthUserFile/usr/local/nagios/etc/htpasswdRequirevalid-user</Directory>d.創(chuàng)建apache目錄驗(yàn)證文件在上面的配置中,指定了目錄驗(yàn)證文件htpasswd,下面要?jiǎng)?chuàng)建這個(gè)文件:#/usr/local/apache2/bin/htpasswd-c/usr/local/nagios/etc/htpasswddavid這樣就在/usr/local/nagios/etc目錄下創(chuàng)建了一個(gè)htpasswd驗(yàn)證文件,當(dāng)通過08/nagios/訪問時(shí)就需要輸入用戶名(david)和密碼(剛設(shè)置的密碼)了。e.查看認(rèn)證文件的內(nèi)容#cat/usr/local/nagios/etc/htpasswdf.啟動(dòng)apache服務(wù)#/usr/local/apache2/bin/apachectlstart到這里nagios的安裝也就基本完成了,你可以通過web來訪問了。六、配置NagiosNagios主要用于監(jiān)控一臺(tái)或者多臺(tái)本地主機(jī)及遠(yuǎn)程的各種信息,包括本機(jī)資源及對(duì)外的服務(wù)等。默認(rèn)的Nagios配置沒有任何監(jiān)控內(nèi)容,僅是一些模板文件。若要讓Nagios提供服務(wù),就必須修改配置文件,增加要監(jiān)控的主機(jī)和服務(wù),下面將詳細(xì)介紹。6.1默認(rèn)配置文件介紹Nagios安裝完畢后,默認(rèn)的配置文件在/usr/local/nagios/etc目錄下。每個(gè)文件或目錄含義如下表所示:文件名或目錄名用途cgi.cfg控制CGI訪問的配置文件nagios.cfgNagios主配置文件resource.cfg變量定義文件,又稱為資源文件,在些文件中定義變量,以便由其他配置文件引用,如$USER1$objectsobjects是一個(gè)目錄,在此目錄下有很多配置文件模板,用于定義Nagios對(duì)象objects/commands.cfg命令定義配置文件,其中定義的命令可以被其他配置文件引用objects/contacts.cfg定義聯(lián)系人和聯(lián)系人組的配置文件objects/localhost.cfg定義監(jiān)控本地主機(jī)的配置文件objects/printer.cfg定義監(jiān)控打印機(jī)的一個(gè)配置文件模板,默認(rèn)沒有啟用此文件objects/switch.cfg定義監(jiān)控路由器的一個(gè)配置文件模板,默認(rèn)沒有啟用此文件objects/templates.cfg定義主機(jī)和服務(wù)的一個(gè)模板配置文件,可以在其他配置文件中引用objects/timeperiods.cfg定義Nagios監(jiān)控時(shí)間段的配置文件objects/windows.cfg監(jiān)控Windows主機(jī)的一個(gè)配置文件模板,默認(rèn)沒有啟用此文件6.2配置文件之間的關(guān)系在nagios的配置過程中涉及到的幾個(gè)定義有:主機(jī)、主機(jī)組,服務(wù)、服務(wù)組,聯(lián)系人、聯(lián)系人組,監(jiān)控時(shí)間,監(jiān)控命令等,從這些定義可以看出,nagios各個(gè)配置文件之間是互為關(guān)聯(lián),彼此引用的。成功配置出一臺(tái)nagios監(jiān)控系統(tǒng),必須要弄清楚每個(gè)配置文件之間依賴與被依賴的關(guān)系,最重要的有四點(diǎn):第一:定義監(jiān)控哪些主機(jī)、主機(jī)組、服務(wù)和服務(wù)組;第二:定義這個(gè)監(jiān)控要用什么命令實(shí)現(xiàn);第三:定義監(jiān)控的時(shí)間段;第四:定義主機(jī)或服務(wù)出現(xiàn)問題時(shí)要通知的聯(lián)系人和聯(lián)系人組。6.3配置Nagios首先新建一個(gè)目錄,名稱為:servers,把objects下面的文件拷貝一份至servers下面(本實(shí)驗(yàn)不監(jiān)控switch和printer,故printer.cfg,switch.cfg這兩個(gè)文件不用拷貝)。為了能更清楚的說明問題,同時(shí)也為了維護(hù)方便,建議將nagios各個(gè)定義對(duì)象創(chuàng)建獨(dú)立的配置文件:·創(chuàng)建hosts.cfg文件來定義主機(jī)和主機(jī)組·創(chuàng)建services.cfg文件來定義服務(wù)·用默認(rèn)的contacts.cfg文件來定義聯(lián)系人和聯(lián)系人組·用默認(rèn)的commands.cfg文件來定義命令·用默認(rèn)的timeperiods.cfg來定義監(jiān)控時(shí)間段·用默認(rèn)的templates.cfg文件作為資源引用文件a.templates.cfg文件nagios主要用于監(jiān)控主機(jī)資源以及服務(wù),在nagios配置中稱為對(duì)象,為了不必重復(fù)定義一些監(jiān)控對(duì)象,Nagios引入了一個(gè)模板配置文件,將一些共性的屬性定義成模板,以便于多次引用。這就是templates.cfg的作用。下面詳細(xì)介紹下templates.cfg文件中每個(gè)參數(shù)的含義:################################################################################TEMPLATES.CFG-SAMPLEOBJECTTEMPLATES##LastModified:10-03-2007##NOTES:Thisconfigfileprovidesyouwithsomeexampleobjectdefinition#templatesthatarereferedbyotherhost,service,contact,etc.#definitionsinotherconfigfiles.##Youdon'tneedtokeepthesedefinitionsinaseparatefilefromyour#otherobjectdefinitions.Thishasbeendonejusttomakethings#easiertounderstand.######################################################################CONTACTTEMPLATES################################################################################################################################################################Genericcontactdefinitiontemplate-ThisisNOTarealcontact,justatemplate!definecontact{namegeneric-contact;Thenameofthiscontacttemplateservice_notification_period24x7;servicenotificationscanbesentanytimehost_notification_period24x7;hostnotificationscanbesentanytimeservice_notification_optionsw,u,c,r,f,s;sendnotificationsforallservicestates,flappingevents,andscheduleddowntimeeventshost_notification_optionsd,u,r,f,s;sendnotificationsforallhoststates,flappingevents,andscheduleddowntimeeventsservice_notification_commandsnotify-service-by-email;sendservicenotificationsviaemailhost_notification_commandsnotify-host-by-email;sendhostnotificationsviaemailregister0;DONTREGISTERTHISDEFINITION-ITSNOTAREALCONTACT,JUSTATEMPLATE!}#################################################################################HOSTTEMPLATES#################################################################################Generichostdefinitiontemplate-ThisisNOTarealhost,justatemplate!definehost{namegeneric-host;Thenameofthishosttemplatenotifications_enabled1;Hostnotificationsareenabledevent_handler_enabled1;Hosteventhandlerisenabledflap_detection_enabled1;Flapdetectionisenabledfailure_prediction_enabled1;Failurepredictionisenabledprocess_perf_data1;Processperformancedataretain_status_information1;Retainstatusinformationacrossprogramrestartsretain_nonstatus_information1;Retainnon-statusinformationacrossprogramrestartsnotification_period24x7;Sendhostnotificationsatanytimeregister0;DONTREGISTERTHISDEFINITION-ITSNOTAREALHOST,JUSTATEMPLATE!}#Linuxhostdefinitiontemplate-ThisisNOTarealhost,justatemplate!definehost{namelinux-server;Thenameofthishosttemplateusegeneric-host;Thistemplateinheritsothervaluesfromthegeneric-hosttemplatecheck_period24x7;Bydefault,Linuxhostsarecheckedroundtheclockcheck_interval5;Activelycheckthehostevery5minutesretry_interval1;Schedulehostcheckretriesat1minuteintervalsmax_check_attempts10;CheckeachLinuxhost10times(max)check_commandcheck-host-alive;DefaultcommandtocheckLinuxhostsnotification_periodworkhours;Linuxadminshatetobewokenup,soweonlynotifyduringtheday;Notethatthenotification_periodvariableisbeingoverriddenfrom;thevaluethatisinheritedfromthegeneric-hosttemplate!notification_interval120;Resendnotificationsevery2hoursnotification_optionsd,u,r;Onlysendnotificationsforspecifichoststatescontact_groupslinuxcontact;Notificationsgetsenttotheadminsbydefaultregister0;DONTREGISTERTHISDEFINITION-ITSNOTAREALHOST,JUSTATEMPLATE!}#Windowshostdefinitiontemplate-ThisisNOTarealhost,justatemplate!definehost{namewindows-server;Thenameofthishosttemplateusegeneric-host;Inheritdefaultvaluesfromthegeneric-hosttemplatecheck_period24x7;Bydefault,Windowsserversaremonitoredroundtheclockcheck_interval5;Activelychecktheserverevery5minutesretry_interval1;Schedulehostcheckretriesat1minuteintervalsmax_check_attempts10;Checkeachserver10times(max)check_commandcheck-host-alive;Defaultcommandtocheckifserversare"alive"notification_period24x7;Sendnotificationoutatanytime-dayornightnotification_interval30;Resendnotificationsevery30minutesnotification_optionsd,r;Onlysendnotificationsforspecifichoststatescontact_groupswindowscontact;Notificationsgetsenttotheadminsbydefaulthostgroupswindows-servers;HostgroupsthatWindowsserversshouldbeamemberofregister0;DONTREGISTERTHIS-ITSJUSTATEMPLATE}#Wedefineagenericprintertemplatethatcanbeusedformostprinterswemonitordefinehost{namegeneric-printer;Thenameofthishosttemplateusegeneric-host;Inheritdefaultvaluesfromthegeneric-hosttemplatecheck_period24x7;Bydefault,printersaremonitoredroundtheclockcheck_interval5;Activelychecktheprinterevery5minutesretry_interval1;Schedulehostcheckretriesat1minuteintervalsmax_check_attempts10;Checkeachprinter10times(max)check_commandcheck-host-alive;Defaultcommandtocheckifprintersare"alive"notification_periodworkhours;Printersareonlyusedduringtheworkdaynotification_interval30;Resendnotificationsevery30minutesnotification_optionsd,r;Onlysendnotificationsforspecifichoststatescontact_groupsallcontact;Notificationsgetsenttotheadminsbydefaultregister0;DONTREGISTERTHIS-ITSJUSTATEMPLATE}#Defineatemplateforswitchesthatwecanreusedefinehost{namegeneric-switch;Thenameofthishosttemplateusegeneric-host;Inheritdefaultvaluesfromthegeneric-hosttemplatecheck_period24x7;Bydefault,switchesaremonitoredroundtheclockcheck_interval5;Switchesarecheckedevery5minutesretry_interval1;Schedulehostcheckretriesat1minuteintervalsmax_check_attempts10;Checkeachswitch10times(max)check_commandcheck-host-alive;Defaultcommandtocheckifroutersare"alive"notification_period24x7;Sendnotificationsatanytimenotification_interval30;Resendnotificationsevery30minutesnotification_optionsd,r;Onlysendnotificationsforspecifichoststatescontact_groupsallcontact;Notificationsgetsenttotheadminsbydefaultregister0;DONTREGISTERTHIS-ITSJUSTATEMPLATE}################################################################################SERVICETEMPLATES################################################################################Genericservicedefinitiontemplate-ThisisNOTarealservice,justatemplate!defineservice{namegeneric-service;The'name'ofthisservicetemplateactive_checks_enabled1;Activeservicechecksareenabledpassive_checks_enabled1;Passiveservicechecksareenabled/acceptedparallelize_check1;Activeservicechecksshouldbeparallelized(disablingthiscanleadtomajorperformanceproblems)obsess_over_service1;Weshouldobsessoverthisservice(ifnecessary)check_freshness0;DefaultistoNOTcheckservice'freshness'notifications_enabled1;Servicenotificationsareenabledevent_handler_enabled1;Serviceeventhandlerisenabledflap_detection_enabled1;Flapdetectionisenabledfailure_prediction_enabled1;Failurepredictionisenabledprocess_perf_data1;Processperformancedataretain_status_information1;Retainstatusinformationacrossprogramrestartsretain_nonstatus_information1;Retainnon-statusinformationacrossprogramrestartsis_volatile0;Theserviceisnotvolatilecheck_period24x7;Theservicecanbecheckedatanytimeofthedaymax_check_attempts3;Re-checktheserviceupto3timesinordertodetermineitsfinal(hard)statenormal_check_interval10;Checktheserviceevery10minutesundernormalconditionsretry_check_interval2;Re-checktheserviceeverytwominutesuntilahardstatecanbedeterminedcontact_groupsallcontact;Notificationsgetsentouttoeveryoneinthe'admins'groupnotification_optionsw,u,c,r;Sendnotificationsaboutwarning,unknown,critical,andrecoveryeventsnotification_interval60;Re-notifyaboutserviceproblemseveryhournotification_period24x7;Notificationscanbesentoutatanytimeregister0;DONTREGISTERTHISDEFINITION-ITSNOTAREALSERVICE,JUSTATEMPLATE!}#Localservicedefinitiontemplate-ThisisNOTarealservice,justatemplate!defineservice{namelocal-service;Thenameofthisservicetemplateusegeneric-service;Inheritdefaultvaluesfromthegeneric-servicedefinitionmax_check_attempts4;Re-checktheserviceupto4timesinordertodetermineitsfinal(hard)statenormal_check_interval5;Checktheserviceevery5minutesundernormalconditionsretry_check_interval1;Re-checktheserviceeveryminuteuntilahardstatecanbedeterminedregister0;DONTREGISTERTHISDEFINITION-ITSNOTAREALSERVICE,JUSTATEMPLATE!}b.resource.cfg文件resource.cfg是nagios的變量定義文件,文件內(nèi)容只有一行:$USER1$=/usr/local/nagios/libexec其中,變量$USER1$指定了安裝nagios插件的路徑,如果把插件安裝在了其它路徑,只需在這里進(jìn)行修改即可。需要注意的是,變量必須先定義,然后才能在其它配置文件中進(jìn)行引用。mands.cfg文件此文件默認(rèn)是存在的,無需修改即可使用,當(dāng)然如果有新的命令需要加入時(shí),在此文件進(jìn)行添加即可。#notify-host-by-email命令的定義definecommand{command_namenotify-host-by-email#命令名稱,即定義了一個(gè)主機(jī)異常時(shí)發(fā)送郵件的命令。command_line/usr/bin/printf"%b""*****Nagios*****\n\nNotificationType:$NOTIFICATIONTYPE$\nHost:$HOSTNAME$\nState:$HOSTSTATE$\nAddress:$HOSTADDRESS$\nInfo:$HOSTOUTPUT$\n\nDate/Time:$LONGDATETIME$\n"|/bin/mail-s"**$NOTIFICATIONTYPE$HostAlert:$HOSTNAME$is$HOSTSTATE$**"$CONTACTEMAIL$#命令具體的執(zhí)行方式。}#notify-service-by-email命令的定義definecommand{command_namenotify-service-by-email#命令名稱,即定義了一個(gè)服務(wù)異常時(shí)發(fā)送郵件的命令command_line/usr/bin/printf"%b""*****Nagios*****\n\nNotificationType:$NOTIFICATIONTYPE$\n\nService:$SERVICEDESC$\nHost:$HOSTALIAS$\nAddress:$HOSTADDRESS$\nState:$SERVICESTATE$\n\nDate/Time:$LONGDATETIME$\n\nAdditionalInfo:\n\n$SERVICEOUTPUT$\n"|/bin/mail-s"**$NOTIFICATIONTYPE$ServiceAlert:$HOSTALIAS$/$SERVICEDESC$is$SERVICESTATE$**"$CONTACTEMAIL$}#check-host-alive命令的定義definecommand{command_namecheck-host-alive#命令名稱,用來檢測(cè)主機(jī)狀態(tài)。command_line$USER1$/check_ping-H$HOSTADDRESS$-w3000.0,80%-c5000.0,100%-p5#這里的變量$USER1$在resource.cfg文件中進(jìn)行定義,即$USER1$=/usr/local/nagios/libexec;#那么check_ping的完整路徑為/usr/local/nagios/libexec/check_ping;#“-w3000.0,80%”中“-w”說明后面的一對(duì)值對(duì)應(yīng)的是“WARNING”狀態(tài),“80%”是其臨界值。#“-c5000.0,100%”中“-c”說明后面的一對(duì)值對(duì)應(yīng)的是“CRITICAL”,“100%”是其臨界值。#“-p1”說明每次探測(cè)發(fā)送一個(gè)包。}definecommand{command_namecheck_local_diskcommand_line$USER1$/check_disk-w$ARG1$-c$ARG2$-p$ARG3$#$ARG1$是指在調(diào)用這個(gè)命令的時(shí)候,命令后面的第一個(gè)參數(shù)。}definecommand{command_namecheck_local_loadcommand_line$USER1$/check_load-w$ARG1$-c$ARG2$}definecommand{command_namecheck_local_p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論