Nagios:企業(yè)級系統(tǒng)監(jiān)控方案.doc_第1頁
Nagios:企業(yè)級系統(tǒng)監(jiān)控方案.doc_第2頁
Nagios:企業(yè)級系統(tǒng)監(jiān)控方案.doc_第3頁
Nagios:企業(yè)級系統(tǒng)監(jiān)控方案.doc_第4頁
Nagios:企業(yè)級系統(tǒng)監(jiān)控方案.doc_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Nagios:企業(yè)級系統(tǒng)監(jiān)控方案在大多數(shù)情況下Cacti + RRDtool已經(jīng)實現(xiàn)對系統(tǒng)各種參數(shù)的監(jiān)測。但很多企業(yè)可能不滿足于僅僅監(jiān)測系統(tǒng)基本參數(shù)的需求,而是需要監(jiān)測除基本參數(shù)之外的各種應(yīng)用程序的運行狀況。很顯然在這種情況下對于一些系統(tǒng)或者是自定義的程序Cacti + RRDtool的局限性就顯示出來了。而此時就輪到了另外一種監(jiān)測系統(tǒng)的登場。這就是我們現(xiàn)在要介紹的Nagios。Nagios是一個功能非常強大的開源的系統(tǒng)網(wǎng)絡(luò)監(jiān)測程序,通過訪問可以了解其基本特性。Nagios不但能夠?qū)崿F(xiàn)對系統(tǒng)CPU,磁盤、網(wǎng)絡(luò)等方面參數(shù)的基本系統(tǒng)監(jiān)測,而且還能夠監(jiān)測包括SMTP,POP3,HTTP,NNTP等各種基本的服務(wù)類型。另外通過一些插件的安裝和監(jiān)測腳本自定義用戶可以針對自己的應(yīng)用程序?qū)崿F(xiàn)監(jiān)測,并針對大量的監(jiān)測主機和多個對象部署層次化的監(jiān)測架構(gòu)。而且在監(jiān)測信息統(tǒng)計方面,Nagios也能夠和例如Cacti等程序結(jié)合來提供動態(tài)統(tǒng)計圖表。除此之外Nagios擁有強大的日志管理系統(tǒng),可以實現(xiàn)詳細的日志記錄以及回卷。針對架構(gòu)的擴展和服務(wù)器數(shù)量的增加可以方便地實現(xiàn)監(jiān)測區(qū)域擴展。最難能可貴的是Nagios提供了優(yōu)秀的事件報警功能,能夠?qū)⒁恍┩话l(fā)的事件以電子郵件的形式通知管理員并能夠針對出現(xiàn)的問題提供一些主動的解決建議和方案,并支持冗余監(jiān)視。相對于Mrtg以及RRDtool + Cacti而言Nagios最大的特點之一是其設(shè)計者將Nagios設(shè)計成監(jiān)測的管理中心盡管其功能是監(jiān)測服務(wù)和主機,但是他自身并不包括這部分功能的代碼,所有的監(jiān)測、監(jiān)測功能都是由相關(guān)插件來完成的,包括報警功能。Nagios自身也沒有報警部分的代碼和插件,而是交給用戶或者其他相關(guān)開源項目組去完成。對于Nagios這個監(jiān)測中心來說,細致的工作必然是交給其他的軟件來實現(xiàn)。下面我們就開始實施Nagios的基本安裝和配置。我的操作環(huán)境是:監(jiān)測主機:IP:0 操作系統(tǒng):RHEL 5u8被監(jiān)測主機:IP:20 操作系統(tǒng):RHEL 5u8Nagios的所有軟件包可以從其官方網(wǎng)站獲得/download/。這里無論是基本軟件包還是插件我都使用的最新版本。因為我使用的操作系統(tǒng)是Red Hat最新版本,原則上對于較新的操作系統(tǒng)版本通常我們都選擇配合最新版本的第三方軟件以避免兼容性問題。首先在監(jiān)測主機也就是0上安裝Nagios的基本軟件包,在安裝Nagios之前首先需要保證系統(tǒng)中有下面這些軟件包:Apache,gcc,gd,gd-devel,glibc,glibc-devel??梢杂胷pm qa | grep的方式去逐一檢查。如果確認(rèn)上面這些包都安裝之后需要先建立Nagios的用戶和nagcmd組:# useradd -m nagios Enter # passwd nagios Enter 并將nagios以及apache用戶加入到nagcmd組中# groupadd nagcmd Enter # usermod -G nagcmd nagios Enter # usermod -G nagcmd apache Enter 完成之后將下載的nagios壓縮包拷貝到/usr/local目錄中,并且執(zhí)行下面的步驟進行編譯和安裝:# tar -zxf nagios-3.0.3.tar.gz Enter # cd nagios-3.0.3 Enter 首先初始化和建立編譯的環(huán)境# ./configure -with-command-group=nagcmd Enter 如果能看到下面的基本配置信息則說明初始的環(huán)境已經(jīng)成功配置完成:* Configuration summary for nagios 3.0.3 06-25-2008 *: General Options: - Nagios executable: nagios Nagios user/group: nagios,nagios Command user/group: nagios,nagcmd Embedded Perl: no Event Broker: yes Install $prefix: /usr/local/nagios Lock file: $prefix/var/nagios.lock Check result directory: $prefix/var/spool/checkresults Init directory: /etc/rc.d/init.d Apache conf.d directory: /etc/httpd/conf.d Mail program: /bin/mail Host OS: linux-gnu Web Interface Options: - HTML URL: http:/localhost/nagios/ CGI URL: http:/localhost/nagios/cgi-bin/ Traceroute (used by WAP): /bin/traceroute Review the options above for accuracy. If they look okay,type make all to compile the main program and CGIs.之后按照提示執(zhí)行命令來進行編譯:# make all Enter 如果編譯過程順利完成,則需要執(zhí)行下面的命令:# make install Enter # make install-init Enter # make install-config Enter # make install-commandmode Enter 分別用于安裝二進制文件、初始化腳本、示例配置文件和設(shè)置目錄權(quán)限。# ls /usr/local/nagios Enter 安裝完成之后,在/usr/local/nagios目錄下如果能夠看到這些目錄:bin etc sbin share var就表示Naigos安裝成功了。不過在完成之后還不能啟動Nagios,因為還有一些操作需要執(zhí)行。Nagios的樣例配置文件默認(rèn)安裝在/usr/local/nagios/etc目錄下,這些樣例文件可以配置Nagios使之正常運行,只需要做一個簡單的修改。用你擅長的編輯器軟件來編輯這個/usr/local/nagios/etc/objects/contacts.cfg配置文件,更改email部分,在nagiosadmin的聯(lián)系人定義信息中的EMail信息為你的EMail信息以接收報警內(nèi)容。# vi /usr/local/nagios/etc/objects/contacts.cfg Enter 之后執(zhí)行下面的命令來安裝Nagios的WEB配置文件到Apache的conf.d目錄下:# make install-webconf Enter 在Apache中使用基本認(rèn)證的方式創(chuàng)建一個nagiosadmin的用戶用于Nagios的WEB界面登錄。記下你所設(shè)置的登錄口令。該用戶登錄口令和賬號信息會存儲到/usr/local/nagios/etc/passwd.users文件中:# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin Enter 在Nagios主程序安裝之后會自動將相關(guān)apache配置文件放到/etc/http/conf.d目錄下,文件名是nagios.conf。文件內(nèi)容如下:# cat /etc/httpd/conf.d/nagios.conf Enter ScriptAlias /nagios/cgi-bin /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 Alias /nagios /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這就意味著只有通過認(rèn)證用戶才可以通過http訪問/usr/loca/nagios/share以及/usr/local/nagios/sbin目錄下內(nèi)容。而這個能夠通過認(rèn)證的用戶也就是nagiosadmin,之后可以重啟apache來應(yīng)用配置: # service httpd restart Enter # chkconfig -level 345 httpd on Enter 剛才已經(jīng)提到Nagios主程序只是一個控制中心,而能夠起到服務(wù)監(jiān)測和系統(tǒng)監(jiān)測等功能的是眾多Nagios的插件,沒有插件的Nagios系統(tǒng)其實只是一個空殼。因此在安裝了Nagios平臺之后我們還需要安裝插件。Nagios插件同樣是在其官方網(wǎng)站下載,目前版本是1.4.12。我將下載的源碼包放到/usr/local目錄下,按照下面的步驟進行解壓,編譯和安裝:# tar -zxf nagios-plugins-1.4.12.tar.gz Enter # cd nagios-plugins-1.4.12 Enter # ./configure -with-nagios-user=nagios -with-nagios-group=nagios Enter # make Enter # make install Enter 然后把Nagios加入到服務(wù)列表中以使之在系統(tǒng)啟動時自動啟動:# chkconfig -add nagios Enter # chkconfig nagios on Enter 執(zhí)行下面的命令來驗證Nagios的樣例配置文件:# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg Enter 如果最后的結(jié)果類似下面而沒有報錯,可以啟動Nagios服務(wù):Total Warnings: 0Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check# service nagios start之后可以在瀏覽器上訪問鏈接0/nagios,如果能夠正常看到頁面,證明主程序和插件都安裝和配置成功(如圖pic32.png所示)!點擊“Service Detail”的鏈接來查看你本機的監(jiān)視詳情。此時可能需要給點時間讓Nagios來檢測你機器上所依賴的服務(wù)(如圖pic33.png-pic34.png所示)。實際上在裝完Nagios之后此時網(wǎng)絡(luò)監(jiān)測工作只是剛剛開始而已,毫無疑問用戶的需求不是只監(jiān)測本地系統(tǒng),而是大量的遠程服務(wù)器上的系統(tǒng)狀況以及服務(wù)運行狀況。有幾種不同方式來監(jiān)測遠程Linux/UNIX服務(wù)器的服務(wù)與屬性。其中之一是應(yīng)用共享式SSH密鑰,即運行check_by_ssh插件來執(zhí)行對遠程主機的檢測。這種方法會導(dǎo)致安裝有Nagios的監(jiān)測服務(wù)器產(chǎn)生很高的系統(tǒng)負荷,尤其是要同時監(jiān)測成百個主機中的上千個服務(wù)時,這是因為要建立大量的SSH連接的總開銷會很高。另一種方法是使用NRPE外部構(gòu)件監(jiān)測遠程主機。NRPE外部構(gòu)件可以在遠程的Linux/Unix主機上執(zhí)行插件程序。如果是要象監(jiān)測本地主機一樣對遠程主機的磁盤利用率、CPU負荷和內(nèi)存占用率等情況下,NRPE外部構(gòu)件將非常有用。提到“外部構(gòu)件”這個概念的時候需要說明一下,Nagios有許多外部構(gòu)件軟件包可供使用。外部構(gòu)件可以擴展Nagios的應(yīng)用并使之與其他軟件集成,而且能夠通過WEB接口來實現(xiàn)管理配置文件,監(jiān)測遠程主機(*NIX,Windows等),對遠程主機的強制監(jiān)測,減化并擴展告警邏輯等功能。NRPE是一個可在遠程Linux/Unix主機上執(zhí)行的插件的外部構(gòu)件包。如果你需要監(jiān)測遠程的主機上的本地資源或?qū)傩?,如磁盤利用率、CPU負荷、內(nèi)存利用率等時是很有用的。最終效果和用check_by_ssh插件來實現(xiàn)的功能一樣,但是他不需要占用更多的監(jiān)測主機的CPU負荷,所以當(dāng)你需要監(jiān)測大量的主機時這個構(gòu)件將起到很重要的作用(如圖pic35.png所示)。通過該圖可以看出,我們需要在被監(jiān)測主機上部署NRPE,他相當(dāng)于一個守護進程負責(zé)監(jiān)聽。而監(jiān)測主機使用check_nrpe并通過SSL連接訪問這個daemon,然后調(diào)用被監(jiān)測方的check_disk,check_load等腳本獲取信息并將結(jié)果傳遞到監(jiān)測主機。同時這些腳本也有能力監(jiān)測到其他主機的相關(guān)信息。NRPE的使用環(huán)境有direct check和indirect check兩種,direct check指的是NRPE運行在被監(jiān)測主機的本地,而indirect check意味著運行NRPE的服務(wù)器只是一個中間人,他會繼續(xù)通過剛才所提及的腳本來監(jiān)測其他更多遠程主機上的服務(wù)和系統(tǒng)信息。層次化的監(jiān)測就是通過這種方式來實現(xiàn)。為了簡單說明問題,我們將部署的是基于direct check的環(huán)境部署NRPE。所以下面的操作將會在被監(jiān)測主機20上進行。首先要建立Nagios賬號,這里我使用同樣的密碼:# useradd nagios Enter # passwd nagios Enter 之后按照和上面相同的步驟來編譯和安裝nagios-plugin軟件:# tar -zxf nagios-plugins-1.4.12.tar.gz Enter # cd nagios-plugins-1.4.12 Enter # ./configure Enter # make Enter # make install Enter 然后對相關(guān)的目錄設(shè)置權(quán)限和所屬用戶組:# chown nagios.nagios /usr/local/nagios Enter # chown R nagios.nagios /usr/local/nagios/libexec Enter 接著NRPE包放到/usr/local目錄下,按照下面的步驟解壓縮,并且編譯和安裝:# tar -zxf nrpe-2.12.tar.gz Enter # cd nrpe-2.12 Enter # ./configure Enter # make all Enter # make install-plugin Enter # make install-daemon Enter # make install-daemon-config Enter 同時安裝NRPE的插件、進程以及進程范例配置文件。接著執(zhí)行命令將nrpe安裝為依賴xinetd超級進程的非獨立服務(wù),那么前提是必須安裝xinetd。不過一般系統(tǒng)都會自動安裝該服務(wù)。 最后執(zhí)行下面的命令將NRPE安裝為xinetd超級進程所管理的進程之一。# make install-xinetd Enter 完成之后需要編輯/etc/xinetd.d目錄下的nrpe文件,并且在最后添加允許實施監(jiān)測的主機IP地址,這里是0,那么整個配置文件全文如下:# cat /etc/xinetd.d/nrpe Enter service nrpe flags = REUSE socket_type = stream port = 5666 wait = no user = nagios group = nagios server = /usr/local/nagios/bin/nrpe server_args = -c /usr/local/nagios/etc/nrpe.cfg -inetd log_on_failure += USERID disable = no only_from = 0然后修改/etc/services檔,并添加下面的內(nèi)容:nrpe 5666/tcp # nrpe重啟服務(wù):# /etc/init.d/xinetd restart Enter 此時檢查nrpe服務(wù)啟動狀況如下:# netstat -nl | grep 5666 Enter tcp 0 0 :5666 :* LISTEN # lsof -i:5666COMMAND PID USER FD TYPE DEVICE SIZE NODE NAMExinetd 9949 root 5u IPv4 28764 TCP *:nrpe (LISTEN)現(xiàn)在最關(guān)鍵的一步是確保安裝的NRPE進程能夠正常工作,所以要使用check_nrpe插件進行測試。在監(jiān)測主機0上執(zhí)行命令:# /usr/local/nagios/libexec/check_nrpe -H 20 Enter 如果能夠出現(xiàn)如下的版本號顯示,則證明在被監(jiān)測主機上配置的NRPE已經(jīng)正常工作,并且監(jiān)測主機能夠通過SSL與被監(jiān)測主機上的NRPE正常通信。NRPE v2.12但是如果出現(xiàn)一些error信息,則需要檢查配置,檢查的內(nèi)容包括主要有下面幾項:1. nrpe的版本號和nrpe-plugin的版本號是否一致。版本不一致極有可能造成該問題。2. SSL是否被關(guān)閉。確保NRPE以及check_nrpe插件在編譯的時候都加入了SSL支持,同時在運行時都開啟SSL。不過一般編譯過程中默認(rèn)都會假如支持SSL選項。3. 確保NRPE的配置文件nrpe.cfg文件可以被nagios用戶讀取并且nagios用戶可以執(zhí)行nrpe二進制程序。4. 確認(rèn)在/etc/xinetd.d/nrpe文件的“only_from=x.x.x.x”中x.x.x.x是訪問NRPE的監(jiān)測主機的IP地址。NRPE的配置文件/usr/local/nagios/etc/nrpe.cfg中實際上已經(jīng)包含了一些對系統(tǒng)進行監(jiān)測的命令。由于NRPE安裝在本地,這些命令可以直接協(xié)助NRPE從被監(jiān)測主機獲取系統(tǒng)和服務(wù)運行狀況,而且都是在剛才通過nagios-plugin安裝的。如果從監(jiān)測主機上運行這些命令進行監(jiān)測,一切正確可以看到下面的效果。那么不難看出其中的奧妙,即實際上完全可以利用在/usr/local/nagios/libexec/中的各種腳本并添加各項參數(shù)來定制自己的監(jiān)測內(nèi)容。(如圖pic36.png所示)那么到此為止我們就完成了在遠程被監(jiān)測主機上安裝和配置RNPE的任務(wù)?,F(xiàn)在需要在監(jiān)測主機,也即是0上面安裝和配置check_nrpe插件。步驟大概分為:第一,安裝check_nrpe插件;第二,為使用check_nrpe插件建立Nagios命令定義;第三,建立Nagios host以及服務(wù)定義由于我們剛才已經(jīng)在安裝Nagios之后安裝了nrpe,所以實際上第一個步驟已經(jīng)完成?,F(xiàn)在開始執(zhí)行第二步驟建立命令定義:這里需要花點時間特別說明一下Nagios利用命令定義進行監(jiān)測的原理:在安裝nagios成功之后可以看到在/usr/local/nagios/libexec目錄下有很多可執(zhí)行監(jiān)測程序或者腳本,其名稱類似check_icmp這樣的格式。Nagios并沒有提供針對這些監(jiān)測程序的腳本的說明文檔,想了解這些腳本如何工作,需要通過h參數(shù),顯示其使用方法和參數(shù),并會給出一些實際的例子。例如:./check-disk h。那么我們可以嘗試按照其中一個例子執(zhí)行該腳本,執(zhí)行和顯示的結(jié)果如下:# ./check_disk -w 10% -c 5% -p /tmp -p /var -C -w 100000 -c 50000 -p /dev/sda3 Enter DISK OK - free space: / 2124 MB (41% inode=90%);| /=2955MB;4820;5088;0;5356可以看到狀態(tài)值“OK”,以及一些詳細的數(shù)據(jù)信息。上述操作說明這些插件都是可以獨立使用。Nagios有很多個cfg配置文件用來定義各式各樣的信息,其中template.cfg是用來定義主機和服務(wù)信息的模板文件,在目錄/usr/local/nagios/etc/objects下。我們將按照這些模板來建立新的配置文件,例如同樣目錄下的server.cfg來定義監(jiān)測內(nèi)容,那么這些插件就會從server.cfg中調(diào)用。例如要定義一個需要監(jiān)測的SSH服務(wù),名稱為TestSSH:按照其格式:define service host_name x.x.x.xservice_description check_ssh check_command check_ssh host_name項說明該服務(wù)所在的主機名,service_description項為服務(wù)的說明信息,這項內(nèi)容會顯示在nagios頁面中。check_command項說明要使用的命令,這個例子中的命令check_ssh就是一個插件了。這個服務(wù)定義明確了nagios在需要監(jiān)測的內(nèi)容和監(jiān)測的手段,即使用check_ssh插件來監(jiān)測主機x.x.x.x上的ssh服務(wù)情況。除了直接使用插件來做check_command項的參數(shù)以外,還可以使用自己定義的命令來做check_command參數(shù)。例如,定義一個需要監(jiān)測的主機,名字是localhost.localdomain:define host host_name localhost.localdomainalias remotehost01address check_command check-host-alive 在此例中,check_command項的參數(shù)“check-host-alive”并非一個插件,而是在commands.cfg檔中定義的一個命令。那么在相同目錄的command.cfg中對該命令又被定義為:# check-host-alive command definition define command command_name check-host-alive command_line $USER1$/check_ping -H 20 -w 300.0,80% -c 500.0,100% -p 1 首先,$USER1$這個參數(shù)在resource.cfg中定義,這個值會指向插件的目錄(如:/usr/local/nagios/libexec)。“-H 20”定義目標(biāo)主機的地址,-w說明后面的一對值對應(yīng)的是“WARNING”狀態(tài),“80%”是其臨界值。“-c 500.0,100%” 其中“-c”說明后面的一對值對應(yīng)的是 CRITICAL,“100%”是其臨界值?!?p 1”說明每次探測發(fā)送一個包。所以歸根結(jié)底就是說通過ping這種方式來證明某臺主機處于alive狀態(tài)。而至于如何監(jiān)聽非默認(rèn)端口的服務(wù)。下面我也舉例說明一下這個問題:例如:現(xiàn)需檢查的一個運行在8080埠上的http服務(wù)。那么我們可以對commands.cfg檔中對關(guān)于check_http的聲明做如下修改。# check_http command definition define command command_name check_http command_line $USER1$/check_http -H 20 -p $ARG1$ 其中$ARG1$是指在調(diào)用這個命令的時候,命令后面的第一個參數(shù)。再把services.cfg中,對應(yīng)服務(wù)的檢測命令后面加一個參數(shù):define service host_name .check_command check_http!8080這樣就可以對8080埠的http服務(wù)進行監(jiān)測了。如果要添加多個參數(shù)的時候,也可以類似操作。 綜上所述,插件的安裝和調(diào)用方法也就舉例介紹完畢了,大家在使用中也可以使用自己寫的檢測腳本來完成比較特殊的檢測功能。所以按照上面所敘述的原理,我們開始第二步和第三步的配置,為使用check_nrpe插件建立Nagios命令定義以及服務(wù)定義:修改配置文件/usr/local/nagios/etc/objects/command.cfg并增加下面的內(nèi)容:define commandcommand_name check_nrpecommand_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$然后針對要監(jiān)測的目標(biāo)主機建立主機定義,主機定義的項目和內(nèi)容有很多,所以定義的項目如下:host_name host_name # 簡短的主機名alias alias # 別名,可以更詳細的說明主機address address # ip地址,當(dāng)然如果DNS服務(wù)可用也可以寫名稱。如果你不定義該值,nagios將會用host_name去尋找主機。parents host_names # 上一節(jié)點的名稱,也就是指從nagios服務(wù)器到被監(jiān)測主機之間經(jīng)過的節(jié)點, 可以是路由器、交換機、主機等等。這個節(jié)點也要定義并且要被nagios監(jiān)測。hostgroups # 簡短的主機組名稱check_command # 檢查命令的簡短名稱,如果此項留空,nagios將不會去判斷該主機是否alive。 max_check_attempts # 當(dāng)檢查命令的返回值不是“OK”時,重試的次數(shù)check_interval # 循環(huán)檢查的間隔時間。active_checks_enabled # 是否啟用“active_checks”passive_checks_enabled # 是否啟用“passive_checks”,及“被動檢查”check_period # 檢測時間段簡短名稱,此處只是名稱,具體的時間段要寫在其他的配置文件obsess_over_host # 是否啟用主機操作系統(tǒng)探測。check_freshness # 是否啟用freshness測試。freshness測試是對于啟用被動測試模式的主機而言的,其作用是定期檢查該主機報告的狀態(tài)信息,如果該狀態(tài)信息已經(jīng)過期,freshness將會強制作主機檢查。freshness_threshold # fressness的臨界值,單位為秒。 如果定義為0,則為自動定義。event_handler # 當(dāng)主機發(fā)生狀態(tài)改變時,采用的處理命令的簡短的名字(可以在commands.cfg中對其定義) event_handler_enabled # 是否啟用event_handlerlow_flap_threshold # 抖動的下限值。所謂抖動,主要定義了這樣一種現(xiàn)象:在一段時間內(nèi),主機 (或服務(wù))的狀態(tài)值頻繁發(fā)生變化,類似一個問題風(fēng)暴或者一個網(wǎng)絡(luò)問題。 high_flap_threshold # 抖動的上限值flap_detection_enabled # 是否啟用抖動檢測process_perf_data # 是否啟用processing of performance dataretain_status_information # 程序重啟時,是否保持主機狀態(tài)相關(guān)的信息retain_nonstatus_information # 程序重啟時,是否保持主機狀態(tài)無關(guān)的信息contact_groups # 聯(lián)系人組(這個組會在contactgroup.cfg文件中定義),在此組中的聯(lián)系人都 會受到該主機的告警提醒信息。notification_interval # 告警臨界值。達到此次數(shù)之后,才會發(fā)送該機的報警提醒信息。 notification_period # 告警時間段notification_options # 告警包括的狀態(tài)變化結(jié)果notifications_enabled # 是否啟用告警提醒功能stalking_options o,d,u # 持續(xù)狀態(tài)檢測參數(shù),o = 持續(xù)的UP狀態(tài),d = 持續(xù)的DOWN狀態(tài),and u = 持續(xù)的UNREACHABLE狀態(tài).當(dāng)然在企業(yè)的監(jiān)測環(huán)境中很多項目可能都不一定能夠用上,這里我只是通過一個簡單的例子說明其用法就好了。所以修改/usr/local/nagios/etc/objects/localhost.cfg文件,于該文件的“HOST DEFINITION”部分,在原來的基礎(chǔ)上增加自己的主機定義內(nèi)容:define host use linux-box ; Inherit default values from a template host_name localhost ; The name were giving to this server alias RHEL5u2 ; A longer name for the server address 20 ; IP address of the server 同時在“HOST GROUP DEFINITION”部分,將20這臺主機加入到linux-servers這個hostgroup中。如果有多臺主機都屬于這個hostgroup,可以用逗號將其隔開。以下是我添加的內(nèi)容:define hostgroup hostgroup_name linux-servers ; The name of the hostgroup alias Linux Servers ; Long name of the group members 20 ; Comma separated list of hosts that belong to this group 而在最后的“SERVICE DEFINITION”部分,所有未注釋的部分實際上是關(guān)于對localhost也就是本機所要監(jiān)測的內(nèi)容。其格式和語法就是我在提到Nagios監(jiān)測原理方面舉例說明的內(nèi)容。對于localhost來說不需要修改了,但是可以把他的內(nèi)容復(fù)制到自定義的cfg檔中并照葫蘆畫瓢修改成對20這臺 主機的命令定義。我們下面就來做這樣的操作:在/usr/local/nagios/etc/objects目錄下針對監(jiān)測的服務(wù)建立服務(wù)定義,建立一個新的文件remotehosts.cfg,加入下面內(nèi)容:下面是自定義的:define serviceuse generic-servicehost_name localhostservice_description CPU Loadcheck_command check_nrpe!check_load表示監(jiān)測遠程主機的CPU負載。如果要監(jiān)測當(dāng)前在遠程主機的磁盤空間,則加入:define serviceuse generic-servicehost_name localhostservice_description /dev/sda3 Free Spacecheck_command check_nrpe!check_disk /dev/sda3如果要監(jiān)測當(dāng)前遠程主機的僵死進程數(shù),則加入:define serviceuse generic-servicehost_name localhostservice_description Zombie Processescheck_command check_nrpe!check_zombie_procs同時使用vi編輯器末行模式的r功能讀取當(dāng)前目錄下的localhost.cfg檔,刪除“HOST DEFINITION”和“HOST GROUP DEFINITION”部分。只保留“SERVICE DEFINITION”部分并修改為下面的內(nèi)容:第一個命令定義:通過check_ping腳本確保監(jiān)測主機和被監(jiān)測主機的連通性,如果網(wǎng)絡(luò)丟包率到達20%則產(chǎn)生warning警告,到達60%則產(chǎn)生critical警告:define service use local-service ; Name of service template to use host_name 20 service_description PING REMOTE HOST check_command check_ping!100.0,20%!500.0,60% 第二個命令定義:監(jiān)測遠程主機根分區(qū)磁盤狀況,如果根分區(qū)可用空間低于20%會產(chǎn)生Warning

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論