圖 3  Nagios 通過(guò) NRPE 來(lái)遠(yuǎn)端管理服務(wù)

1.Nagios 執(zhí)行安裝在它里面的 check_nrpe 插件,并告訴 check_nrpe 去檢測(cè)哪些服務(wù)。

2.通過(guò) SSL,check_nrpe 連接遠(yuǎn)端機(jī)子上的 NRPE daemon

3.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é)果顯示出來(lái)。

下面通過(guò)一個(gè)監(jiān)控遠(yuǎn)端服務(wù)器 CPU 負(fù)載情況的實(shí)例,研究如何實(shí)現(xiàn)通過(guò) NRPE 來(lái)管理遠(yuǎn)端服務(wù)器。假設(shè)有一臺(tái)遠(yuǎn)端服務(wù)器的 IP 是 10.20.0.110,Nagios 服務(wù)主機(jī) IP 是:10.20.10.1。它們都已經(jīng)安裝上了 nagios 系統(tǒng),主機(jī)通過(guò) NRPE 檢查運(yùn)行中的服務(wù)器 CPU 的負(fù)載量,當(dāng)負(fù)載量超過(guò)80%是發(fā)出警告(WARNING)報(bào)告,超過(guò)95%時(shí)發(fā)出緊急(CRITICAL)報(bào)告。在Nagios 的插件中存在 check_load -w $ARG1$ -c $ARG2$插件,通過(guò)查看其幫助,當(dāng) Nagios 調(diào)用它時(shí),就會(huì)去檢查對(duì)象主機(jī)的CPU負(fù)載,達(dá)到$ARG1$指定的數(shù)值時(shí)就會(huì)發(fā)出警告(WARNING),達(dá)到$ARG2$時(shí)發(fā)出緊急報(bào)告(CRITICAL)。

首先是在遠(yuǎn)端服務(wù)器上的修改:

1.讓 Nagios 用戶(hù)擁有對(duì)如下文件的所用權(quán):

chown nagios.nagios /usr/local/nagios

chown –R nagios.nagios /usr/local/nagios/libexec


然后如果沒(méi)有安裝 xinetd,則先安裝 xinetd。

2.按照 Nagios 文檔安裝好 nrpe 插件。

3.修改文件/etc/xinetd.d/nrpe:

only_from  = 127.0.0.1 10.20.10.1(這個(gè)是 Nagios 主機(jī)的 IP) 

nrpe 允許以上 IP 的機(jī)器通過(guò) nrpe 查詢(xún)服務(wù)

4.在/etc/service 文件里添加:

nrpe  5666/tcp  #nrpe

然后 service xinetd restart

5.執(zhí)行:netstat –at | grep nrpe

如果出現(xiàn):tcp   0      0 *:nrpe   *:*    LISTEN 說(shuō)明NRPE監(jiān)聽(tīng)已經(jīng)成功啟動(dòng)了

6.執(zhí)行  /usr/local/nagios/libexec/check_nrpe –H localhost

出現(xiàn) NRPE  v 2.8.1 則安裝成功。

7.確認(rèn)本地防火墻允許遠(yuǎn)端服務(wù)器訪(fǎng)問(wèn) NRPE daemon:

iptables -IRH-Firewall-1-INPUT -p tcp -m tcp –dport 5666 -j ACCEPT

service iptables save


8.打開(kāi)/usr/local/nagios/etc/commands.cfg,找到 check_load 服務(wù),修改如下:

define command{

command_name check_server_load

command_line $USER1$/check_load -w 80% -c 95%

}

9.打開(kāi) /usr/local/nagios/etc/nrpe.cfg 可以看到里面已經(jīng)默認(rèn)定義了一些檢測(cè)服務(wù),如:

/usr/local/nagios/libexec/check_nrpe -H localhost -c check_users /usr/local/nagios
/libexec/check_nrpe -H localhost -c check_load /usr
/local/nagios/libexec/check_nrpe -H localhost -c check_hda1

注釋掉除 check_load 外的其它服務(wù)定義。

最后是 Nagios 主機(jī)上的修改:

1在 Nagios 主機(jī)上安裝 nrpe 插件。

2打開(kāi)/usr/local/nagios/etc/command.cfg添加如下行:

define command{

command_name check_nrpe

command_line $USER1$/check_nrpe –H 10.20.0.110 -c $ARG1$

3再在對(duì)象定義的配置文件里(host.cfg 文件),修改 host 為要檢測(cè)的主機(jī)的 IP 地址,然后在服務(wù)中添加要檢測(cè)的命令:

define service{

use linux-service

service_description remote_CPU_Load

check_command check_nrpe!check_load

}


4在 nagios.cfg 主配置文件中,cfg_file 值為 host.cfg,運(yùn)行

/usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg

如果沒(méi)有錯(cuò)就啟動(dòng) nagios:

service nagios start(restart,stop)


5打開(kāi)瀏覽器:http://主機(jī) IP/nagios 

可以看到所監(jiān)控的遠(yuǎn)端機(jī)器的這個(gè)信息了(check_server_load的返回結(jié)果),參看圖2.正常狀態(tài)用綠色表示,一旦遠(yuǎn)端服務(wù)器負(fù)載超過(guò) 80%,狀態(tài)信息就會(huì)變成紅色警告管理員。

4.  對(duì) Nagios 系統(tǒng)的評(píng)價(jià)和建議

本文是對(duì) Nagios 的遠(yuǎn)端監(jiān)控功能的應(yīng)用和研究,要想得到更加復(fù)雜的服務(wù),還需要進(jìn)一步的研究它的文檔,并且不斷的去嘗試。和所有的網(wǎng)絡(luò)管理工具一樣,要想進(jìn)行充分利用Nagios進(jìn)行全面的監(jiān)控服務(wù),需要進(jìn)行相當(dāng)復(fù)雜的設(shè)置,并且需要在運(yùn)行時(shí)進(jìn)行調(diào)整,以確保所提供的信息是正確的,這些都會(huì)隨著對(duì) Nagios 的進(jìn)一步了解而慢慢容易起來(lái)。雖然Nagios 配置復(fù)雜,但是一旦配置成功后它的操作很簡(jiǎn)單,大部分是基于 web 的操作,而且易于擴(kuò)展,這是它的兩大特點(diǎn)。它還可以很輕松的與其他的工具進(jìn)行整合和擴(kuò)展,可以從其他的應(yīng)用軟件中接收數(shù)據(jù),或者向一些報(bào)告引擎或者工具中發(fā)送數(shù)據(jù)等,例如,它可以借助 mrtg 軟件來(lái)義圖表的形式顯示監(jiān)控的服務(wù)狀態(tài),限于篇幅在此就不細(xì)說(shuō)了。Nagios 是一個(gè)非常強(qiáng)大的工具,在它運(yùn)行后,它能夠讓你的 IT 工作變得更加容易。而相比商業(yè)版的類(lèi)似軟件,它也具有低成本的優(yōu)勢(shì)。自然,最好的特點(diǎn)是由于它是開(kāi)放源代碼的軟件,因此我們隨時(shí)可以從整個(gè) Nagios 社區(qū)中獲得幫助,能夠共享社區(qū)中的各種插件和經(jīng)驗(yàn)。最后對(duì)使用 Nagios 系統(tǒng)提出一點(diǎn)建議。在使用 Nagios 之前,開(kāi)始考慮需要監(jiān)控哪些服務(wù)和主機(jī),對(duì)它們進(jìn)行統(tǒng)一的規(guī)劃,首先對(duì)重要資源服務(wù)進(jìn)行管理,接著再去實(shí)現(xiàn)對(duì)其它服務(wù)進(jìn)行管理;在配置完 Nagios 后,保存其配置文檔,做好必要的注釋?zhuān)@將會(huì)使所監(jiān)控管理的資源和所運(yùn)行的插件更加清晰,也方便其他人以后能夠在已有 Nagios 上繼續(xù)工作。

分享到

yajing

相關(guān)推薦