NRPE的安裝配置(轉載)

NRPE是nagios的一個擴展,它被用於被監控的服務器上,向nagios監控平臺提供該服務器的一些本地的情況。例如,cpu負載、內存使用、硬盤使用等等。NRPE可以稱爲nagios的for linux 客戶端。

爲 什麼要使用這個客戶端呢?在nagios的插件中,有一個名爲“check_ssh”的插件,它也可以實現對於遠程服務器中local信息的監控。但是, 相對NRPE,“check_ssh”佔用的系統資源就略多了一點。監控少量的服務時可能不會察覺,但是如果監控對象比較多,那麼差距就非常明顯了。但是 還有一點要說明,雖然NRPE也是使用SSL安全通道,但是“check_ssh”的安全性要高於NRPE,安全性總是和易用性成反比的。 -_-||

首先,需要在nagios監控平臺服務器上安裝NRPE,安裝很簡單,到官方網站下載最新的nrpe包,本例中使用的是nrpe-2.8.1.tar.gz。

tar xzf nrpe-2.8.1.tar.gz

cd nrpe-2.8.1

./configure

make all

make install-plugin


如果安裝成功,就可以在/.../nagios/libexec 目錄中找到 "check_nrpe"這個插件。
之後需要定義一個可以在監控平臺使用的命令,這個定義一般會在/.../nagios/etc/commands.cfg中,其內容如下:

define command{

command_name check_nrpe

command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }


這樣就可以在定義服務的時候使用這個命令了,舉個例子:

define service{

host_name remotehost

service_description CPU Load

...

check_command check_nrpe!check_load }


這個例子就定義了對remotehost服務器cpu負載情況的監控。其中紅色的“check_load”是什麼,來自哪裏,我們下面再說。

ok,現在來說本文的重點內容,如何在被監控服務器上安裝NRPE。
首先,需要準備的包有兩個:NRPE和nagios-plugin。本文使用的版本是nagios-plugins-1.4.9.tar.gz和nrpe-2.8.1.tar.gz。首先安裝插件:

/usr/sbin/useradd nagios

passwd nagios

tar xzf nagios-plugins-1.4.9.tar.gz
cd nagios-plugins-1.4.9
./configure --prefix=/usr/local/nagios
make && make install
chown nagios.nagios /usr/local/nagios/
chown -R nagios.nagios /usr/local/nagios/libexec/


然後安裝NRPE:

tar xzf nrpe-2.8.1.tar.gz

cd nrpe-2.8.1

./configure

make all

make install-plugin

make install-daemon

make install-daemon-config


ok, 安裝好了,可以到/usr/local/nagios/下面檢查一下,應該生成了4個目錄:bin、etc、libexec、share。之後我們要配置 一下,目的是讓NRPE可以以守護進程的形式監聽5666端口,爲特定地址的nagios平臺提供服務。在官方的NRPE文檔中,詳細說明了如何將 NRPE嵌入xinetd服務中,我在這裏就不囉嗦了。有些情況,我們的服務器上沒有xinetd或者inetd這樣的服務,那如何辦呢?我在這裏介紹一 種更加通用的方法。

首先,需要修改/usr/local/nagios/etc/nrpe.cof。
找到“allowed_hosts=127.0.0.1”將其改爲:

allowed_hosts=127.0.0.1,$Nagios監控平臺的地址或域名


這 個配置的作用是聲明合法的nrpe服務對象,沒有在這裏聲明的地址是無法從本機的NRPE獲得服務的。“$Nagios監控平臺的地址或域名”可以是ip 地址,也可以是域名。在我環境中,nagios監控平臺沒有一個固定的公網ip,所以其他在公網上的服務器如果安裝了NRPE的話,就只能通過動態域名來 辨別監控平臺的地址。

啓動NRPE守護進程:(可以將此命令加入/etc/rc.local,以便開機自動啓動)

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d


此命令生成的日誌會在系統的日誌(/var/log/message)中。如果沒有出錯,就基本搞定了。我們來驗收一下,在本機上:

/usr/local/nagios/libexec/check_nrpe -H 127.0.0.1


或者在nagios監控平臺服務器上:

/usr/local/nagios/libexec/check_nrpe -H $目標主機地址


正常的返回值爲被監控服務器上安裝的NRPE的版本信息:

NRPE v2.8.1


如果看到這些,恭喜你,你的NRPE安裝成功了。

那麼,通過NRPE,可以監控到哪些信息呢? 只要在被監控服務器上有的插件(/usr/local/nagios/libexec中的所有插件),都可以使用。也就是說,你想監控什麼,只要有對應的插件,就可以實現。

例如,我希望監控一臺遠程服務器上的cpu負載。在遠程主機的插件中有“check_load”,那麼,在nrpe.conf中定義一個cpu負載的監控:

command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20


這個配置就聲明瞭一個命令:“check_load”,也就是上述中紅色字check_load 的真身所在了。

 

本文參考Nagios官方文檔NRPE.pdf

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章