Nagios的配置.doc_第1頁
Nagios的配置.doc_第2頁
Nagios的配置.doc_第3頁
Nagios的配置.doc_第4頁
Nagios的配置.doc_第5頁
已閱讀5頁,還剩37頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

Nagios+NagiosQL的安裝與配置一、 Nagios的簡(jiǎn)介1. Nagios的簡(jiǎn)介Nagios是一個(gè)用來監(jiān)視系統(tǒng)和網(wǎng)絡(luò)的開源應(yīng)用軟件,它通常運(yùn)行于一個(gè)主服務(wù)器上,這個(gè)服務(wù)器運(yùn)行 Liunx 或 Unix 操作系統(tǒng)。Nagios 利用其眾多的插件實(shí)現(xiàn)對(duì)本機(jī)和遠(yuǎn)端服務(wù)的監(jiān)控,當(dāng)被監(jiān)控對(duì)象出現(xiàn)異常,Nagios 就會(huì)及時(shí)給管理人員告警。它是一個(gè)基于TCP/IP協(xié)議的軟件包,包含有nagios主程序和它的各個(gè)插件,配置非常靈活,可以監(jiān)視的項(xiàng)目很多,也可以通過自定義 shell 腳本進(jìn)行監(jiān)控服務(wù),非常適合各類企業(yè)的網(wǎng)絡(luò)應(yīng)用。 Nagios功能非常強(qiáng)大,它可以監(jiān)控服務(wù)和主機(jī),但是他自身并不包括這部分功能的代碼,所有的監(jiān)控、檢測(cè)功能都是有插件來完成的。再說報(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è)前提條件。 2、Nagios 系統(tǒng)的特點(diǎn)主要有下面幾點(diǎn):監(jiān)控主機(jī)資源和網(wǎng)絡(luò)服務(wù) 允許用戶通過設(shè)計(jì)實(shí)現(xiàn)簡(jiǎn)單的插件來監(jiān)控自己特定的服務(wù) 當(dāng)被監(jiān)控對(duì)象出現(xiàn)問題時(shí),會(huì)及時(shí)通知管理人員 事先定義事件處理程序,當(dāng)對(duì)象出現(xiàn)問題時(shí)自動(dòng)調(diào)用對(duì)應(yīng)的處理程序 通過 web 頁面來監(jiān)視對(duì)象狀態(tài),警告提示和日志文件二、 Nagios的安裝1、 安裝前的準(zhǔn)備工作首先需要下載Nagios的安裝源代碼包,下載最新版本的Nagios、 plugins、nrpe、NagiosQL,以下是下載地址:Wget /sourceforge/nagios/nagios-3.2.1.tar.gzWget /sourceforge/nagiosplug/nagios-plugins-1.4.15.tar.gzWget /sourceforge/nagios/nrpe-2.12.tar.gzWget http:/oss.oetiker.ch/rrdtool/pub/rrdtool-1.2.15.tar.gzWget /projects/pnp4nagios/files/PNP/pnp-0.4.14/pnp-0.4.14.tar.gz/downloadWget /project/nagiosql/nagiosql/NagiosQL%203.0.3/nagiosql303.zip在這里,我將需要用到的軟件包下載到/usr/local/目錄下,如圖:2、 搭建LAMP平臺(tái)LAMP平臺(tái)就是大家都很熟悉的linux+apache+mysql+php,由于使用源代碼安裝比較繁瑣,這里為了省事,我使用yum安裝,yum安裝可以解決一些依賴性的問題,安裝命令如下:Yum install httpd-* php-* mysql-* -y(安裝apache、php、mysql)Yum install gd gd-devel glibc glibc-common gnutls -y(安裝需要的一些庫文件)到這里我們的LAMP平臺(tái)就搭建起來了。3、 安裝Nagios、以及插件3.1、在安裝Nagios的時(shí)候,首先需要先創(chuàng)建一個(gè)系統(tǒng)用戶:nagios,命令如下:Groupadd nagios Useradd -g nagios nagios Mkdir /usr/local/nagiosChown -R nagios:nagios /usr/local/nagios (修改目錄nagios的屬主與屬組為nagiso)如圖:3.2、安裝nagios,先解壓壓縮包,然后編譯、安裝,具體命令如下:Tar -zxvf nagios-3.2.1.tar.gz (解壓)Cd nagios-3.2.1./configure -prefix=/usr/local/nagios (配置nagios安裝在/usr/local/nagios目錄)Make allMake installMake install-initMake install-commandmodeMake install-config 3.3、安裝nagios的插件,解壓壓縮包、編譯、安裝,具體命令如下: Tar -zxvf nagios-plugins-1.4.15.tar.gzCd nagios-plugins-1.4.15./configure -prefix=/usr/local/nagiosMakeMake install 3.4、修改apache服務(wù)器的運(yùn)行用戶為:nagios 這里需要修改apache服務(wù)器的配置文件httpd.onf 使用vi編輯器打開apache服務(wù)器的配置文件,找到如下圖所示內(nèi)容,apache服務(wù)器的配置文件位于:/etc/httpd/conf/httpd.conf修改User apache Group apache 為 User nagios Group nagios修改apache的配置文件,增加nagios的目錄,并且設(shè)置訪問此目錄需要身份驗(yàn)證,打開apache服務(wù)器的配置文件,在文件的最后增加如下內(nèi)容:Vi /etc/httpd/conf/httpd.conf#setting for nagios ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin Options ExecCGI AllowOverride None Order allow,deny Allow from all AuthName Nagios Access AuthType BasicAuthUserFile /usr/local/nagios/etc/htpasswd#用于此目錄訪問身份驗(yàn)證的文件 Require valid-user Alias /nagios /usr/local/nagios/share Options None AllowOverride None Order allow,deny Allow from all AuthName Nagios Access AuthType BasicAuthUserFile /usr/local/nagios/etc/htpasswd#用于此目錄訪問身份驗(yàn)證的文件 Require valid-user3.5、增加驗(yàn)證用戶也就是通過WEB訪問nagios的時(shí)候,必須使用這個(gè)用戶登錄,在這里我們?cè)黾樱河脩簦篴dmin 密碼:abc#123使用如下命令:/usr/bin/htpasswd -c /usr/local/nagios/etc/htpasswd adminNew password: (輸入abc#123) Re-type new password: (再輸入一次密碼)Adding password for user test如圖所示:查看認(rèn)證文件的內(nèi)容:Less /usr/local/nagios/etc/htpasswdadmin:OmWGEsBnoGpIc 前半部分是用戶名admin,后面是加密后的密碼以后再添加新用戶的時(shí)候,只需要使用命令:/usr/bin/htpasswd /usr/local/nagios/etc/htpasswd 用戶名 即可。至此nagios就安裝完畢了,nagios的安裝很簡(jiǎn)單,但配置nagios卻很麻煩,稍講解nagios的配置。 3.6、nagios服務(wù)的啟動(dòng)與停止,可以使用如下命令來啟動(dòng)和停止nagios: 啟動(dòng):service nagios start 停止:service nagios stop 重啟:service nagios restart講到這里,nagios可以實(shí)現(xiàn)一個(gè)什么功能呢,到這里nagios只能監(jiān)控本機(jī);我們啟動(dòng)httpd服務(wù)、啟動(dòng)nagios服務(wù)。Service httpd startService nagios start打開網(wǎng)頁,輸入:2/nagios IP地址為安裝nagios的服務(wù)器IP地址就可以使用剛才創(chuàng)建的:admin用戶或者nagiosadmin用戶登錄nagios了。 注:在啟動(dòng)httpd服務(wù)的時(shí)候,會(huì)報(bào)下邊的錯(cuò)誤:這個(gè)需要修改httpd的配置文件,找到如下內(nèi)容將#ServerName :80 的#去掉,保存退出,重啟httpd服務(wù)即可解決。在啟動(dòng)nagios之前,先使用如下命令檢查nagios主配置文件是否有錯(cuò):/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg如果沒有報(bào)錯(cuò),會(huì)出現(xiàn)如下信息:如圖所示,警告和錯(cuò)誤都為0,可以啟動(dòng)nagiosService nagios start打開網(wǎng)頁,登錄nagios,如下圖所示。我們可以看到nagios登錄進(jìn)去的界面如上圖所示。三、 nagios的配置nagiso的安裝其實(shí)并不麻煩,但nagios配置卻很麻煩,nagios可以念成(難搞死),下邊我們就來具體的講解下nagios的配置;nagios要用起來,就必須修改配置文件,增加要監(jiān)控的主機(jī)和服務(wù)才行.在具體做這個(gè)動(dòng)作之前,首先需要了解下邊的概念。1、Nagios自己定義了一套規(guī)則用于配置文件,其中最重要的概念就是”對(duì)象”-object.在Nagios里面定義了一些基本的對(duì)象,一般用到的有:聯(lián)系人contact出了問題像誰報(bào)告?一般當(dāng)然是系統(tǒng)管理員了監(jiān)控時(shí)間段timeperiod7X24小時(shí)不間斷還是周一至周五,或是自定義的其他時(shí)間段被監(jiān)控主機(jī)host所需要監(jiān)控的服務(wù)器,當(dāng)然可以是監(jiān)控機(jī)自己監(jiān)控命令commandnagios發(fā)出的哪個(gè)指令來執(zhí)行某個(gè)監(jiān)控,這也是自己定義的被監(jiān)控的服務(wù)service例如主機(jī)是否存活,80端口是否開,磁盤使用情況或者自定義的服務(wù)等另外,多個(gè)被監(jiān)控主機(jī)可以定義為一個(gè)主機(jī)組,多個(gè)聯(lián)系人可以被定義為一個(gè)聯(lián)系人組,多個(gè)服務(wù)還能定義成一個(gè)服務(wù)組。所有這些對(duì)象絕對(duì)多數(shù)都是需要我們手動(dòng)定義的,這就是nagios的配置顯得復(fù)雜的地方.其實(shí)了解了原理,做一遍之后余下的工作就是復(fù)制粘貼了.下面我們開始將nagios的配置。Nagios的主配置文件在/usr/local/nagios/etc/nagios.cfg ,其他的一些配置文件在/usr/local/nagios/etc/objects/目錄下,如下圖所示:2、修改nagios的主配置文件nagios.cfg文件Vi /usr/local/nagios/etc/nagios.cfg找到如下圖所示內(nèi)容,將#去掉,cfg_file=/usr/local/nagios/etc/objects/contacts.cfg /聯(lián)系人配置文件路徑cfg_file=/usr/local/nagios/etc/objects/commands.cfg /命令配置文件路徑 cfg_file=/usr/local/nagios/etc/objects/localhost.cfg /主機(jī)配置文件路徑 cfg_file=/usr/local/nagios/etc/objects/templates.cfg /摸板配置文件路徑 cfg_file=/usr/local/nagios/etc/objects/timeperiods.cfg /監(jiān)視時(shí)段配置文件路徑如圖所示:注釋掉就說明不使用這個(gè)文件,去掉了注釋就是需要使用這個(gè)文件;改check_external_commands=0為check_external_commands=1 .這行的作用是允許在web界面下執(zhí)行重啟nagios、停止主機(jī)/服務(wù)檢查等操作; 把command_check_interval的值從默認(rèn)的1改成command_check_interval=15s(根據(jù)自己的情況定這個(gè)命令檢查時(shí)間間隔,不要太長(zhǎng)也不要太短); 主配置文件要改的基本上就是這些,通過上面的修改,發(fā)現(xiàn)/usr/local/nagios/etc并沒有文件hosts.cfg等一干文件,怎么辦?稍后我們手動(dòng)創(chuàng)建它們。3、修改CGI腳本控制文件cgi.cfg文件vi cgi.cfg 第二個(gè)要修改的配置文件是cgi.cfg,它的作用是控制相關(guān)cgi腳本。先確保use_authentication=1;接下來修改default_user_name=nagios,再后面修改如下內(nèi)容:authorized_for_system_information=nagiosadmin,admin authorized_for_configuration_information=nagiosadmin,admin authorized_for_system_commands=nagiosadmin,admin #多個(gè)用戶之間用逗號(hào)隔開 authorized_for_all_services=nagiosadmin,admin authorized_for_all_hosts=nagiosadmin,admin authorized_for_all_service_commands=nagiosadmin,admin authorized_for_all_host_commands=nagiosadmin,admin那么上述用戶名打那里來的呢?是執(zhí)行命令 /usr/bin/htpasswd c/usr/local/nagios/etc/htpasswd admin 所生成的,這個(gè)要注意,不能隨便加沒有存在的驗(yàn)證用戶,為了安全起見,不要添加過多的驗(yàn)證用戶。4、定義監(jiān)控時(shí)間段,創(chuàng)建配置文件timeperiods.cfgrootlocalhost etc# vi timeperiods.cfgdefine timeperiod timeperiod_name 24x7 /時(shí)間段的名稱,這個(gè)地方不要有空格 alias 24 Hours A Day,7Days A Week sunday 00:00-24:00 monday 00:00-24:00 tuesday 00:00-24:00 wednesday 00:00-24:00 thursday 00:00-24:00 friday 00:00-24:00 saturday 00:00-24:00 定義了一個(gè)監(jiān)控時(shí)間段,它的名稱是24x7,監(jiān)控的時(shí)間是每天全天24小時(shí)5、定義聯(lián)系人,創(chuàng)建配置文件contacts.cfgrootlocalhost etc# vi contacts.cfgdefine contact contact_name admin/聯(lián)系人的名稱,這個(gè)地方不要有空格 alias sys admin service_notification_period 24x7 host_notification_period 24x7 service_notification_options w,u,c,r host_notification_options d,u,r service_notification_commands notify-host-by-email host_notification_commands notify-host-by-email email pager創(chuàng)建了一個(gè)名為admin的聯(lián)系人,下面列出其中重要的幾個(gè)選項(xiàng)做說明service_notification_period 24x7 服務(wù)出了狀況通知的時(shí)間段,這個(gè)時(shí)間段就是上面在timeperiods.cfg中定義的.host_notification_period 24x7 主機(jī)出了狀況通知的時(shí)間段, 這個(gè)時(shí)間段就是上面在timeperiods.cfg中定義的service_notification_options w,u,c,r 當(dāng)服務(wù)出現(xiàn)w報(bào)警(warning),u未知(unkown),c嚴(yán)重(critical),或者r從異常情況恢復(fù)正常,在這四種情況下通知聯(lián)系人.host_notification_options d,u,r 當(dāng)主機(jī)出現(xiàn)d當(dāng)機(jī)(down),u返回不可達(dá)(unreachable),r從異常情況恢復(fù)正常,在這3種情況下通知聯(lián)系人service_notification_commands notify-by-email 服務(wù)出問題通知采用的命令notify-by-email,這個(gè)命令是在commands.cfg中定義的,作用是給聯(lián)系人發(fā)郵件.至于commands.cfg之后將專門介紹host_notification_commands host-notify-by-email 同上,主機(jī)出問題時(shí)采用的也是發(fā)郵件的方式通知聯(lián)系人email 很明顯,聯(lián)系人的email地址pager聯(lián)系人的手機(jī),如果支持短信報(bào)警的話,這個(gè)就很有用了.按照上面的方式簡(jiǎn)單的復(fù)制修改就可以創(chuàng)建多個(gè)聯(lián)系人了。6、下面就可以將多個(gè)聯(lián)系人組成一個(gè)聯(lián)系人組,創(chuàng)建文件contactgroups.cfgrootlocalhost etc# vi contactgroups.cfgdefine contactgroup contactgroup_name sagroup /聯(lián)系人組的名稱,同樣不能空格 alias System Administrators /別名 members nagiosadmin,admin /組的成員,來自于上面定義的contacts.cfg,如果有多個(gè)聯(lián)系人則以逗號(hào)相隔 7、定義被監(jiān)控主機(jī),創(chuàng)建文件hosts.cfgrootlocalhost etc# vi hosts.cfgdefine host host_name localhost /被監(jiān)控主機(jī)的名稱,最好別帶空格 alias localhost /別名 address /被監(jiān)控主機(jī)的IP地址,我現(xiàn)在暫時(shí)先填本機(jī)的IP check_command check-host-alive /監(jiān)控的命令check-host-alive,這個(gè)命令來自commands.cfg,用來監(jiān)控主機(jī)是否存活 max_check_attempts 5 /檢查失敗后重試的次數(shù) check_period 24x7 /檢查的時(shí)間段24x7,同樣來自于我們之前在timeperiods.cfg中定義的 contact_groups sagroup /聯(lián)系人組,上面在contactgroups.cfg中定義的sagroup notification_interval 10 /提醒的間隔,每隔10秒提醒一次 notification_period 24x7 /提醒的周期, 24x7,同樣來自于我們之前在timeperiods.cfg中定義的 notification_options d,u,r /指定什么情況下提醒,具體含義見之前contacts.cfg部分的介紹 通過簡(jiǎn)單的復(fù)制修改就可以定義多個(gè)主機(jī)了.我們?cè)谶@加上另外兩臺(tái)機(jī)器: 名為nginx的linux主機(jī),ip為2 名為ceshi的win2003主機(jī),ip為18、與聯(lián)系人可以組成聯(lián)系人組一樣,多個(gè)主機(jī)也可以組成主機(jī)組.創(chuàng)建文件hostgrops.cfgrootlocalhost etc# vi hostgroups.cfgdefine hostgroup hostgroup_name linux-servers /主機(jī)組名稱 alias linux-servers /別名 members localhost,nginx,win2003/組的成員主機(jī),多個(gè)主機(jī)以逗號(hào)相隔,必須是上面hosts.cfg中定義的 9、下面是最關(guān)鍵的了,用nagios主要是監(jiān)控一臺(tái)主機(jī)的各種信息,包括本機(jī)資源,對(duì)外的服務(wù)等等.這些在nagios里面都是被定義為一個(gè)個(gè)的項(xiàng)目(nagios稱之為服務(wù),為了與主機(jī)提供的服務(wù)相區(qū)別,我這里用項(xiàng)目這個(gè)詞),而實(shí)現(xiàn)每個(gè)監(jiān)控項(xiàng)目,則需要通過commands.cfg文件中定義的命令。 例如我們現(xiàn)在有一個(gè)監(jiān)控項(xiàng)目是監(jiān)控一臺(tái)機(jī)器的web服務(wù)是否正常, 我們需要哪些元素呢?最重要的有下面三點(diǎn):首先是監(jiān)控哪臺(tái)機(jī),然后是這個(gè)監(jiān)控要用什么命令實(shí)現(xiàn),最后就是出了問題的時(shí)候要通知哪個(gè)聯(lián)系人? 定義監(jiān)控的項(xiàng)目,也叫服務(wù),創(chuàng)建services.cfgrootlocalhost etc# vi services.cfg#service definition define service host_name localhost /被監(jiān)控的主機(jī),hosts.cfg中定義的 service_description check-host-alive /這個(gè)監(jiān)控項(xiàng)目的描述(也可以說是這個(gè)項(xiàng)目的名稱),可以空格,我們這里定義的是監(jiān)控這個(gè)主機(jī)是不是存活 check_command check-host-alive /所用的命令,是commands.cfg中定義的 max_check_attempts 5 normal_check_interval 3 retry_check_interval 2 check_period 24x7 /監(jiān)控的時(shí)間段,是timeperiods.cfg中定義的 notification_interval 10 notification_period 24x7 /通知的時(shí)間段, ,是timeperiods.cfg中定義的 notification_options w,u,c,r /在監(jiān)控的結(jié)果是wucr時(shí)通知聯(lián)系人,具體含義看前文 contact_groups sagroup /聯(lián)系人組,是contactgroups.cfg中定義的 可以看到基本上所有的成員都是已經(jīng)定義的.同樣的將上面的內(nèi)容復(fù)制修改,就可以加上另外兩個(gè)監(jiān)控項(xiàng)目:分別監(jiān)控nginx和win2003是否存活 這樣整個(gè)的配置過程就結(jié)束了.雖然功能很簡(jiǎn)單,但是已經(jīng)為以后擴(kuò)展打下了良好的基礎(chǔ).可以放心的告訴大家,以后的工作基本都是復(fù)制粘貼啦!10、在運(yùn)行nagios之前首先做測(cè)試 /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 看到下面這些信息就說明沒問題了Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check如果有問題的話就可以按照輸出信息來排查11、作為守護(hù)進(jìn)程后臺(tái)啟動(dòng)nagios /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg現(xiàn)在我們登錄2/nagios來查看,點(diǎn)擊左邊的hosts和services,可以查看到我們監(jiān)控的主機(jī)有l(wèi)ocalhost和jiankong1 ,如下圖所示:到這里,我們實(shí)現(xiàn)了使用nagios監(jiān)控主機(jī)是否存活,不過,難道nagios僅僅就只能監(jiān)控主機(jī)是否存活嗎?ssh開放了沒?ftp工作正常不?http可以訪問不?磁盤用了多少了?機(jī)器CPU和內(nèi)存的使用率等這些問題呢,難道不能監(jiān)控嗎,這些東西當(dāng)然是可以監(jiān)控的,下面我們就來講一講如何監(jiān)控這些東西。四、 使用命令和插件監(jiān)控更多信息這部分內(nèi)容是最難理解,也是nagios監(jiān)控中最重要的部分,下面我們就來講解一下,如何使用nagios監(jiān)控各種服務(wù),CPU的使用率,內(nèi)存的使用率,磁盤空間的使用率等等;在文章的開始我們說過,nagios本身并沒有監(jiān)控的功能,所有的監(jiān)控都是由插件來完成的,插件將結(jié)果返回給nagios,nagios分析這些結(jié)果,以WEB的方式展現(xiàn)給我們,同時(shí)提供相應(yīng)的報(bào)警功能(這個(gè)報(bào)警的功能也是由插件來完成的),所有的這些插件是一些實(shí)現(xiàn)特定功能的可執(zhí)行程序,默認(rèn)安裝路徑是/usr/local/nagios/libexec,我們可以進(jìn)入到這個(gè)目錄查看下,如下圖所示:這些程序都是可以獨(dú)立執(zhí)行的,使用方法可以通過”命令名 h”來查看,例如,我們查看check_disk這個(gè)插件的用法則可以使用check_disk h,如下圖:如何使用這個(gè)命令,可以看幫助中的Examples 例子,另外可以查看各個(gè)選項(xiàng)的功能是什么意思。輸出的資料十分詳細(xì)給出了這個(gè)插件的功能,使用方法,參數(shù)意義等,對(duì)于每一個(gè)插件都是這樣.所以當(dāng)你不懂某個(gè)插件怎么使用時(shí)就好好讀讀吧.從上面的輸出可以看到check_disk這個(gè)插件是用來檢查磁盤使用情況的,我現(xiàn)在來獨(dú)立執(zhí)行它,例如查看根分區(qū)的使用情況,執(zhí)行rootserver1 libexec# ./check_disk -w 10% -c 5% /命令的含義是檢查分區(qū)/的使用情況,若剩余10%以下,為警告狀態(tài)(warning),5%以下為嚴(yán)重狀態(tài)(critical),執(zhí)行后我們會(huì)看到下面這條信息DISK OK - free space: / 7005 MB (94% inode=99%);| /=387MB;7016;7406;0;7796說明當(dāng)前是OK的狀態(tài),空閑空間有94%.如果/分區(qū)的剩余空間小于10%的話,nagios就會(huì)采取報(bào)警等措施了,如圖所示:或許在這里大家又迷糊了,我們?cè)诙x某個(gè)監(jiān)控項(xiàng)目時(shí),所用的監(jiān)控命令都是來自commands.cfg的,這和這些插件有什么關(guān)系?想到了吧,commands.cfg中定義的監(jiān)控命令就是使用的這些插件.舉個(gè)例子,之前我們已經(jīng)不止一次用到了check-host-alive這個(gè)命令,打開commands.cfg就可以看到這個(gè)命令的定義,如下:command_name check-host-alive這句話的意思是定義的命令名是check-host-alive,也就是我們?cè)趕ervices.cfg中使用的名稱,執(zhí)行的操作是$USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 1其中$USER1$是在resource.cfg文件中定義的,代表插件的安裝路徑.就如我們上面看到的那樣$USER1$=/usr/local/nagios/libexec,至于$HOSTADDRESS$,則默認(rèn)被定義為監(jiān)控主機(jī)的地址,簡(jiǎn)單的說,我們?cè)趕ervices.cfg中定義了對(duì)dbpi執(zhí)行check-host-alive命令,實(shí)際上就是執(zhí)行了/usr/local/nagios/libexec/ check_ping -H jiankongq的ip地址 -w 3000.0,80% -c 5000.0,100% -p 1 ,實(shí)際上check-host-alive只是這一長(zhǎng)串命令的簡(jiǎn)稱而已,而在services.cfg中都是使用簡(jiǎn)稱的,在commands.cfg中定義了很多這樣的命令簡(jiǎn)稱.基本上我們常用的監(jiān)控項(xiàng)目都包含了,例如ftp,http,本地的磁盤,負(fù)載等等,我們?cè)倏匆粋€(gè)命令,check_local_disk定義如下 :check_local_disk實(shí)際上是執(zhí)行的check_disk插件.這里的$ARG1$, $ARG2$, $ARG3$是什么意思呢?在之前我們已經(jīng)提到了這個(gè)check_disk這個(gè)插件的用法,-w的參數(shù)指定磁盤剩了多少是警告狀態(tài),-c的參數(shù)指定剩多少是嚴(yán)重狀態(tài),-p用來指定路徑,在使用check-host-alive的時(shí)候,只需要在services.cfg中直接寫上這個(gè)命令名check-host-alive.后面沒任何的參數(shù).而使用check_local_disk則不同,在services.cfg中要這么寫check_local_disk!10%!5%!/在命令名后面用!分隔出了3個(gè)參數(shù),10%是$ARG1$的值,5%是$ARG2$的值,/ 是$ARG3$的值??傊瑂ervices.cfg 與commands.cfg與插件之間的關(guān)系如下:services.cfg定義監(jiān)控項(xiàng)目用某個(gè)命令這個(gè)命令必須在commands.cfg中定義定義這個(gè)命令時(shí)使用了libexec下的插件如果命令不帶$ARG1$就可以在services.cfg中直接使用,如果帶了使用時(shí)就帶上參數(shù),以”!”相隔。下邊我們來做幾個(gè)監(jiān)控測(cè)試下:1、 監(jiān)控本機(jī)的SSHdefine service host_name localhost service_description check-ssh check_command check_tcp!22 max_check_attempts 5 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 2、 監(jiān)控本機(jī)的根分區(qū)磁盤使用情況define service host_name localhost service_description check disk check_command check_local_disk!10%!5%!/ max_check_attempts 5 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 3、 監(jiān)控nginx上的ftpdefine service host_name nginx service_description check ftp check_command check_ftp max_check_attempts 5 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 配置完后,檢查nagios配置文件是否報(bào)錯(cuò)。/usr/local/nagios/bin/nagios v /usr/local/nagios/etc/nagios.cfg如果沒有錯(cuò)誤和警告,重啟nagiosService nagios restart我們從網(wǎng)頁可以看到如圖所示內(nèi)容:下面有一個(gè)問題,nagios監(jiān)控磁盤使用率,監(jiān)控的是本機(jī)的,那么如何使用nagios監(jiān)控網(wǎng)絡(luò)中其他機(jī)器的磁盤使用率,CPU負(fù)載,等信息呢,實(shí)現(xiàn)這些功能需要一些插件,下邊我們來講下如何使用插件實(shí)現(xiàn)這些監(jiān)控。五、 使用nagios監(jiān)控遠(yuǎn)程主機(jī)的磁盤使用率、CPU負(fù)載等信息使用nagios監(jiān)控遠(yuǎn)程linux主機(jī)的磁盤使用率,CPU負(fù)載等信息,需要在遠(yuǎn)程linux主機(jī)上安裝nagios插件和NRPE插件;使用nagios監(jiān)控遠(yuǎn)程windows主機(jī)的磁盤使用率,CPU負(fù)載等信息,需要在遠(yuǎn)程windows主機(jī)上安裝NSClient程序。1、 遠(yuǎn)程監(jiān)控linux主機(jī)使用NRPE監(jiān)控LINUX上的”本地信息”本部分主要參考了NRPE的官方手冊(cè) 本節(jié)的目的,對(duì)系統(tǒng)為linux的主機(jī)進(jìn)行如下監(jiān)控:CPU負(fù)載,磁盤容量,登陸用戶數(shù),總進(jìn)程數(shù),僵尸進(jìn)程數(shù),swap分區(qū)使用情況;對(duì)于像磁盤容量,cpu負(fù)載這樣的”本地信息”,nagios只能監(jiān)測(cè)自己所在的主機(jī),而對(duì)其他的機(jī)器則顯得有點(diǎn)無能為力.畢竟沒得到被控主機(jī)的適當(dāng)權(quán)限是不可能得到這些信息的.為了解決這個(gè)問題,nagios有這樣一個(gè)附加組件-NRPE.用它就可以完成對(duì)linux類型主機(jī)”本地信息”的監(jiān)控。1.1、在被監(jiān)控主機(jī)上的設(shè)置1增加用戶rootdbpi root# useradd nagios設(shè)置密碼rootdbpi root# passwd nagios2安裝nagios插件解壓縮tar -zxvf nagios-plugins-1.4.9.tar.gzcd nagios-plugins-1.4.9編譯安裝./configuremakemake install這一步完成后會(huì)在/usr/local/nagios/下生成兩個(gè)目錄libexec和sharerootdbpi local# ls /usr/local/nagios/libexec share修改目錄權(quán)限r(nóng)ootdbpi local# chown nagios.nagios /usr/local/nagiosrootdbpi local# chown -R nagios.nagios /usr/local/nagios/libexec3安裝nrpe解壓縮tar -zxvf nrpe-2.8.1.tar.gzcd nrpe-2.8.1編譯./configure輸出如下* Configuration summary for nrpe 2.8.1 05-10-2007 *:General Options:-NRPE port: 5666NRPE user: nagiosNRPE group: nagiosNagios user: nagiosNagios group: nagiosReview the options above for accuracy. If they look okay,type make all to compile the NRPE daemon and client.可以看到NRPE的端口是5666,下一步是make allMake all輸出如下* Compile finished *If the NRPE daemon and client compiled without any errors, youcan continue with the installation or upgrade process.Read the PDF documentation (NRPE.pdf) for information on the nextsteps you should take to complete the installation or upgrade.接下來安裝NPRE插件,daemon和示例配置文件安裝check_nrpe這個(gè)插件make install-plugin之前說過監(jiān)控機(jī)需要安裝check_nrpe這個(gè)插件,被監(jiān)控機(jī)并不需要,我們?cè)谶@

溫馨提示

  • 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)論