天天看點

如何在 Linux 環境下配置 Nagios Remote Plugin Executor (NRPE)如何在 Linux 環境下配置 Nagios Remote Plugin Executor (NRPE)

如何在 Linux 環境下配置 Nagios Remote Plugin Executor (NRPE)如何在 Linux 環境下配置 Nagios Remote Plugin Executor (NRPE)

本教程将會介紹如何在一個已經部署好的 nagios 中配置 nrpe。本教程主要分為兩部分:

配置遠端主機。

配置 nagios 監控伺服器。

之後我們會以定義一些可以被 nrpe 使用的自定義指令來結束本教程。

<a target="_blank"></a>

你需要在你想要使用 nrpe 監控的每一台遠端主機上安裝 nrpe 服務。每一台遠端主機上的 nrpe 服務守護程序将會與一台 nagios 監控伺服器進行通信。

對于 debian、ubuntu 或者 linux mint:

# apt-get install nagios-nrpe-server

對于 centos、fedora 或者 rhel:

# yum install nagios-nrpe

配置檔案 /etc/nagios/nrpe.cfg 在基于 debian 或者 redhat 的系統中比較相近。讓我們備份并修改配置檔案:

# vim /etc/nagios/nrpe.cfg

## nrpe 服務端口是可以自定義的 ##

server_port=5666

## 允許 nagios 監控伺服器通路 ##

## 注意:逗号後面沒有空格 ##

allowed_hosts=127.0.0.1,x.x.x.x-ip_v4_of_nagios_server

## 下面的例子中我們寫死了參數。

## 這些參數可以按需修改。

## 注意:對于 centos 64 位使用者,請使用 /usr/lib64 替代 /usr/lib ##

command[check_users]=/usr/lib/nagios/plugins/check_users -w 5 -c 10

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

command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1

command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 5 -c 10 -s z

command[check_total_procs]=/usr/lib/nagios/plugins/check_procs -w 150 -c 200

現在配置檔案已經準備好了,nrpe 服務已經可以啟動了。

對于基于 redhat 的系統,nrpe 服務需要被添加為啟動服務。

對于 debian、ubuntu、linux mint:

# service nagios-nrpe-server restart

# service nrpe restart

# chkconfig nrpe on

nrpe 守護程序的狀态資訊可以在系統日志中找到。對于基于 debian 的系統,日志檔案在 /var/log/syslog,而基于 redhat 的系統的日志檔案則是 /var/log/messages。下面提供一段樣例日志以供參考:

nrpe[19723]: starting up daemon

nrpe[19723]: listening for connections on port 5666

nrpe[19723]: allowing connections from: 127.0.0.1,x.x.x.x

如果使用了防火牆,被 nrpe 守護程序使用的 tcp 端口 5666 應該被開啟。

# netstat -tpln | grep 5666

tcp 0 0 0.0.0.0:5666 0.0.0.0:* listen 19885/nrpe

為 nrpe 配置已有的 nagios 監控伺服器的第一步是在伺服器上安裝 nrpe 插件。

當 nagios 伺服器運作在基于 debian 的系統(debian、ubuntu 或者 linux mint)上時,需要的軟體包可以通過 apt-get 安裝。

# apt-get install nagios-nrpe-plugin

插件安裝完成後,對随插件安裝的 check_nrpe 指令稍作修改。

# vim /etc/nagios-plugins/config/check_nrpe.cfg

## 預設指令會被覆寫 ##

define command{

command_name check_nrpe

command_line /usr/lib/nagios/plugins/check_nrpe -h '$hostaddress$' -c '$arg1$'

}

# yum install nagios-plugins-nrpe

現在 nrpe 插件已經安裝完成,繼續下面的步驟以配置一台 nagios 伺服器。

我們需要首先在 nagios 中定義一個指令來使用 nrpe。

# vim /etc/nagios/objects/commands.cfg

接下來定義遠端主機以及我們将要在它們上面運作的指令。

下面的例子為一台遠端主機定義了一個可以在上面執行的指令。一般來說,你的配置需要按照你的需求來改變。配置檔案的路徑在基于 debian 和基于 redhat 的系統上略有不同,不過檔案的内容是完全一樣的。

# vim /etc/nagios3/conf.d/nrpe.cfg

# vim /etc/nagios/objects/nrpe.cfg

define host{

use linux-server

host_name server-1

alias server-1

address x.x.x.x-ipv4_address_of_remote_host

define service {

host_name server-1

service_description check load

check_command check_nrpe!check_load

check_interval 1

use generic-service

在重新開機 nagios 之前,可以通過測試來驗證配置。

對于 ubuntu、debian 或者 linux mint:

# nagios3 -v /etc/nagios3/nagios.cfg

# nagios -v /etc/nagios/nagios.cfg

如果一切正常,我們就可以重新開機 nagios 服務了。

# service nagios restart

如何在 Linux 環境下配置 Nagios Remote Plugin Executor (NRPE)如何在 Linux 環境下配置 Nagios Remote Plugin Executor (NRPE)

下面列出了一些可以用于 nrpe 的自定義指令。這些指令在遠端伺服器的 /etc/nagios/nrpe.cfg 檔案中定義。

## 當 1、5、15 分鐘的平均負載分别超過 1、2、1 時進入警告狀态

## 當 1、5、15 分鐘的平均負載分别超過 3、5、3 時進入嚴重警告狀态

command[check_load]=/usr/lib/nagios/plugins/check_load -w 1,2,1 -c 3,5,3

## 對于 /home 目錄的可用空間設定了警告級别為 25%,以及嚴重警告級别為 10%。

## 可以定制為監控任何分區(比如 /dev/sdb1、/、/var、/home)

command[check_disk]=/usr/lib/nagios/plugins/check_disk -w 25% -c 10% -p /home

## 當 process_abc 的執行個體數量超過 10 時警告,超過 20 時嚴重警告 ##

command[check_process_abc]=/usr/lib/nagios/plugins/check_procs -w 1:10 -c 1:20 -c process_abc

## 當 process_abc 的執行個體數量跌到 1 以下時嚴重警告 ##

command[check_process_xyz]=/usr/lib/nagios/plugins/check_procs -w 1: -c 1: -c process_xyz

我們通過如下指令來修改 nagios 監控伺服器裡的服務定義來應用上面定義的自定義指令。服務定義可以寫在所有服務被定義的地方(比如 /etc/nagios/objects/nrpe.cfg 或 /etc/nagios3/conf.d/nrpe.cfg)

## 示例 1:檢查程序 xyz ##

service_description check process xyz

check_command check_nrpe!check_process_xyz

## 示例 2:檢查磁盤狀态 ##

check_command check_nrpe!check_disk

總而言之,nrpe 是 nagios 的一個強大的擴充,它提供了高度可定制的遠端伺服器監控方案。使用 nrpe,我們可以監控系統的負載、運作的程序、已登入的使用者、磁盤狀态,以及其它參數。

希望這些可以幫到你。

原文釋出時間:2014-10-27

本文來自雲栖合作夥伴“linux中國”

繼續閱讀