阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

118次阅读
没有评论

共计 7410 个字符,预计需要花费 19 分钟才能阅读完成。

就网络管理而言,Nagios 是最强大的工具之一。Nagios 可以监控远程主机的可访问性,以及其中正在运行的服务的状态。不过,如果我们想要监控远程主机中网络服务以外的东西呢?比方说,我们可能想要监控远程主机上的磁盘利用率或者 CPU 处理器负载。Nagios Remote Plugin Executor(NRPE)便是一个可以帮助你完成这些操作的工具。NRPE 允许你执行在远程主机上安装的 Nagios 插件,并且将它们集成到一个已经存在的 Nagios 服务器里。

如何用 Nagios 远程执行插件(NRPE)来检测服务器内存使用率  http://www.linuxidc.com/Linux/2014-11/108859.htm

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

网络监控器 Nagios 全攻略 http://www.linuxidc.com/Linux/2013-07/87067.htm

Nagios 搭建与配置详解 http://www.linuxidc.com/Linux/2013-05/84848.htm

Nginx 环境下构建 Nagios 监控平台 http://www.linuxidc.com/Linux/2011-07/38112.htm

在 RHEL5.3 上配置基本的 Nagios 系统 (使用 Nagios-3.1.2) http://www.linuxidc.com/Linux/2011-07/38129.htm

CentOS 5.5+Nginx+Nagios 监控端和被控端安装配置指南 http://www.linuxidc.com/Linux/2011-09/44018.htm

Ubuntu 13.10 Server 安装 Nagios Core 网络监控运用 http://www.linuxidc.com/Linux/2013-11/93047.htm

本教程将会介绍如何在一个已经部署好的 Nagios 中配置 NRPE。本教程主要分为两部分:

  • 配置远程主机。
  • 配置 Nagios 监控服务器。

之后我们会以定义一些可以被 NRPE 使用的自定义命令来结束本教程。

为 NRPE 配置远程主机

第一步:安装 NRPE 服务

你需要在你想要使用 NRPE 监控的每一台远程主机上安装 NRPE 服务。每一台远程主机上的 NRPE 服务守护进程将会与一台 Nagios 监控服务器进行通信。

NRPE 服务所需要的软件包可以很容易地用 apt-get 或者 yum 来安装,取决于所在的平台。对于 CentOS 来说,由于 NRPE 并不在 CentOS 的仓库中,我们需要添加 Repoforge 仓库。

对于 Debian、Ubuntu 或者 Linux Mint:

  1. # apt-get install nagios-nrpe-server

对于 CentOS、Fedora 或者 RHEL:

  1. # yum install nagios-nrpe

第二步:准备配置文件

配置文件 /etc/nagios/nrpe.cfg 在基于 Debian 或者 RedHat 的系统中比较相近。让我们备份并修改配置文件:

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

  1. ## NRPE 服务端口是可以自定义的 ##
  2. server_port=5666
  3.  
  4. ## 允许 Nagios 监控服务器访问 ##
  5. ## 注意:逗号后面没有空格 ##
  6. allowed_hosts=127.0.0.1,X.X.X.XIP_v4_of_Nagios_server
  7.  
  8. ## 下面的例子中我们硬编码了参数。
  9. ## 这些参数可以按需修改。
  10.  
  11. ## 注意:对于 CentOS 64 位用户,请使用 /usr/lib64 替代 /usr/lib ##
  12.  
  13. command[check_users]=/usr/lib/nagios/plugins/check_users w 5c 10
  14. command[check_load]=/usr/lib/nagios/plugins/check_load w 15,10,5c 30,25,20
  15. command[check_hda1]=/usr/lib/nagios/plugins/check_disk w 20%c 10%p /dev/hda1
  16. command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs w 5c 10s Z
  17. command[check_total_procs]=/usr/lib/nagios/plugins/check_procs w 150c 200

现在配置文件已经准备好了,NRPE 服务已经可以启动了。

第三步:初始化 NRPE 服务

对于基于 RedHat 的系统,NRPE 服务需要被添加为启动服务。

对于 Debian、Ubuntu、Linux Mint:

  1. # service nagios-nrpe-server restart

对于 CentOS、Fedora 或者 RHEL:

  1. # service nrpe restart
  2. # chkconfig nrpe on

第四步:验证 NRPE 服务状态

NRPE 守护进程的状态信息可以在系统日志中找到。对于基于 Debian 的系统,日志文件在 /var/log/syslog,而基于 RedHat 的系统的日志文件则是 /var/log/messages。下面提供一段样例日志以供参考:

  1. nrpe[19723]:Starting up daemon
  2. nrpe[19723]:Listeningfor connections on port 5666
  3. nrpe[19723]:Allowing connections from:127.0.0.1,X.X.X.X

如果使用了防火墙,被 NRPE 守护进程使用的 TCP 端口 5666 应该被开启。

  1. # netstat -tpln | grep 5666

  1. tcp 000.0.0.0:56660.0.0.0:* LISTEN 19885/nrpe 

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2014-10/108535p2.htm 

为 NRPE 配置 Nagios 监控服务器

为 NRPE 配置已有的 Nagios 监控服务器的第一步是在服务器上安装 NRPE 插件。

第一步:安装 NRPE 插件

当 Nagios 服务器运行在基于 Debian 的系统(Debian、Ubuntu 或者 Linux Mint)上时,需要的软件包可以通过 apt-get 安装。

  1. # apt-get install nagios-nrpe-plugin

插件安装完成后,对随插件安装的 check_nrpe 命令稍作修改。

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

  1. ## 默认命令会被覆盖 ##
  2. define command{
  3. command_name check_nrpe
  4. command_line /usr/lib/nagios/plugins/check_nrpe H ‘$HOSTADDRESS$’c ‘$ARG1$’
  5. }

如果 Nagios 服务器运行在基于 RedHat 的系统(CentOS、Fedora 或者 RHEL)上,你可以通过 yum 安装 NRPE 插件。对于 CentOS,添加 Repoforge 仓库 是必要的。

  1. # yum install nagios-plugins-nrpe

现在 NRPE 插件已经安装完成,继续下面的步骤以配置一台 Nagios 服务器。

第二步:为 NRPE 插件定义 Nagios 命令

我们需要首先在 Nagios 中定义一个命令来使用 NRPE。

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

  1. ## 注意:对于 CentOS 64 位用户,请使用 /usr/lib64 替代 /usr/lib ##
  2. define command{
  3. command_name check_nrpe
  4. command_line /usr/lib/nagios/plugins/check_nrpe H ‘$HOSTADDRESS$’c ‘$ARG1$’
  5. }

第三步:添加主机与命令定义

接下来定义远程主机以及我们将要在它们上面运行的命令。

下面的例子为一台远程主机定义了一个可以在上面执行的命令。一般来说,你的配置需要按照你的需求来改变。配置文件的路径在基于 Debian 和基于 RedHat 的系统上略有不同,不过文件的内容是完全一样的。

对于 Debian、Ubuntu 或者 Linux Mint:

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

对于 CentOS、Fedora 或者 RHEL:

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

  1. define host{
  2. use linuxserver
  3. host_name server1
  4. alias server1
  5. address X.X.X.XIPv4_address_of_remote_host
  6. }
  7.  
  8. define service {
  9. host_name server1
  10. service_description CheckLoad
  11. check_command check_nrpe!check_load
  12. check_interval 1
  13. usegenericservice
  14. }

第四步:重启 Nagios 服务

在重启 Nagios 之前,可以通过测试来验证配置。

对于 Ubuntu、Debian 或者 Linux Mint:

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

对于 CentOS、Fedora 或者 RHEL:

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

如果一切正常,我们就可以重启 Nagios 服务了。

  1. # service nagios restart

就网络管理而言,Nagios 是最强大的工具之一。Nagios 可以监控远程主机的可访问性,以及其中正在运行的服务的状态。不过,如果我们想要监控远程主机中网络服务以外的东西呢?比方说,我们可能想要监控远程主机上的磁盘利用率或者 CPU 处理器负载。Nagios Remote Plugin Executor(NRPE)便是一个可以帮助你完成这些操作的工具。NRPE 允许你执行在远程主机上安装的 Nagios 插件,并且将它们集成到一个已经存在的 Nagios 服务器里。

如何用 Nagios 远程执行插件(NRPE)来检测服务器内存使用率  http://www.linuxidc.com/Linux/2014-11/108859.htm

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

网络监控器 Nagios 全攻略 http://www.linuxidc.com/Linux/2013-07/87067.htm

Nagios 搭建与配置详解 http://www.linuxidc.com/Linux/2013-05/84848.htm

Nginx 环境下构建 Nagios 监控平台 http://www.linuxidc.com/Linux/2011-07/38112.htm

在 RHEL5.3 上配置基本的 Nagios 系统 (使用 Nagios-3.1.2) http://www.linuxidc.com/Linux/2011-07/38129.htm

CentOS 5.5+Nginx+Nagios 监控端和被控端安装配置指南 http://www.linuxidc.com/Linux/2011-09/44018.htm

Ubuntu 13.10 Server 安装 Nagios Core 网络监控运用 http://www.linuxidc.com/Linux/2013-11/93047.htm

本教程将会介绍如何在一个已经部署好的 Nagios 中配置 NRPE。本教程主要分为两部分:

  • 配置远程主机。
  • 配置 Nagios 监控服务器。

之后我们会以定义一些可以被 NRPE 使用的自定义命令来结束本教程。

为 NRPE 配置远程主机

第一步:安装 NRPE 服务

你需要在你想要使用 NRPE 监控的每一台远程主机上安装 NRPE 服务。每一台远程主机上的 NRPE 服务守护进程将会与一台 Nagios 监控服务器进行通信。

NRPE 服务所需要的软件包可以很容易地用 apt-get 或者 yum 来安装,取决于所在的平台。对于 CentOS 来说,由于 NRPE 并不在 CentOS 的仓库中,我们需要添加 Repoforge 仓库。

对于 Debian、Ubuntu 或者 Linux Mint:

  1. # apt-get install nagios-nrpe-server

对于 CentOS、Fedora 或者 RHEL:

  1. # yum install nagios-nrpe

第二步:准备配置文件

配置文件 /etc/nagios/nrpe.cfg 在基于 Debian 或者 RedHat 的系统中比较相近。让我们备份并修改配置文件:

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

  1. ## NRPE 服务端口是可以自定义的 ##
  2. server_port=5666
  3.  
  4. ## 允许 Nagios 监控服务器访问 ##
  5. ## 注意:逗号后面没有空格 ##
  6. allowed_hosts=127.0.0.1,X.X.X.XIP_v4_of_Nagios_server
  7.  
  8. ## 下面的例子中我们硬编码了参数。
  9. ## 这些参数可以按需修改。
  10.  
  11. ## 注意:对于 CentOS 64 位用户,请使用 /usr/lib64 替代 /usr/lib ##
  12.  
  13. command[check_users]=/usr/lib/nagios/plugins/check_users w 5c 10
  14. command[check_load]=/usr/lib/nagios/plugins/check_load w 15,10,5c 30,25,20
  15. command[check_hda1]=/usr/lib/nagios/plugins/check_disk w 20%c 10%p /dev/hda1
  16. command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs w 5c 10s Z
  17. command[check_total_procs]=/usr/lib/nagios/plugins/check_procs w 150c 200

现在配置文件已经准备好了,NRPE 服务已经可以启动了。

第三步:初始化 NRPE 服务

对于基于 RedHat 的系统,NRPE 服务需要被添加为启动服务。

对于 Debian、Ubuntu、Linux Mint:

  1. # service nagios-nrpe-server restart

对于 CentOS、Fedora 或者 RHEL:

  1. # service nrpe restart
  2. # chkconfig nrpe on

第四步:验证 NRPE 服务状态

NRPE 守护进程的状态信息可以在系统日志中找到。对于基于 Debian 的系统,日志文件在 /var/log/syslog,而基于 RedHat 的系统的日志文件则是 /var/log/messages。下面提供一段样例日志以供参考:

  1. nrpe[19723]:Starting up daemon
  2. nrpe[19723]:Listeningfor connections on port 5666
  3. nrpe[19723]:Allowing connections from:127.0.0.1,X.X.X.X

如果使用了防火墙,被 NRPE 守护进程使用的 TCP 端口 5666 应该被开启。

  1. # netstat -tpln | grep 5666

  1. tcp 000.0.0.0:56660.0.0.0:* LISTEN 19885/nrpe 

更多详情见请继续阅读下一页的精彩内容 :http://www.linuxidc.com/Linux/2014-10/108535p2.htm 

为 NRPE 配置自定义命令

远程服务器上安装

下面列出了一些可以用于 NRPE 的自定义命令。这些命令在远程服务器的 /etc/nagios/nrpe.cfg 文件中定义。

  1. ## 当 1、5、15 分钟的平均负载分别超过 1、2、1 时进入警告状态
  2. ## 当 1、5、15 分钟的平均负载分别超过 3、5、3 时进入严重警告状态
  3. command[check_load]=/usr/lib/nagios/plugins/check_load w 1,2,1c 3,5,3
  4.  
  5. ## 对于 /home 目录的可用空间设置了警告级别为 25%,以及严重警告级别为 10%。
  6. ## 可以定制为监控任何分区(比如 /dev/sdb1、/、/var、/home)
  7. command[check_disk]=/usr/lib/nagios/plugins/check_disk w 25%c 10%p /home
  8.  
  9. ## 当 process_ABC 的实例数量超过 10 时警告,超过 20 时严重警告 ##
  10. command[check_process_ABC]=/usr/lib/nagios/plugins/check_procs w 1:10c 1:20C process_ABC
  11.  
  12. ## 当 process_ABC 的实例数量跌到 1 以下时严重警告 ##
  13. command[check_process_XYZ]=/usr/lib/nagios/plugins/check_procs w 1:c 1:C process_XYZ

Nagios 监控服务器上安装

我们通过如下命令来修改 Nagios 监控服务器里的服务定义来应用上面定义的自定义命令。服务定义可以写在所有服务被定义的地方(比如 /etc/nagios/objects/nrpe.cfg 或 /etc/nagios3/conf.d/nrpe.cfg)

  1. ## 示例 1:检查进程 XYZ ##
  2. define service {
  3. host_name server1
  4. service_description CheckProcess XYZ
  5. check_command check_nrpe!check_process_XYZ
  6. check_interval 1
  7. usegenericservice
  8. }
  9.  
  10. ## 示例 2:检查磁盘状态 ##
  11. define service {
  12. host_name server1
  13. service_description CheckProcess XYZ
  14. check_command check_nrpe!check_disk
  15. check_interval 1
  16. usegenericservice
  17. }

总而言之,NRPE 是 Nagios 的一个强大的扩展,它提供了高度可定制的远程服务器监控方案。使用 NRPE,我们可以监控系统的负载、运行的进程、已登录的用户、磁盘状态,以及其它参数。

希望这些可以帮到你。

Nagios 的详细介绍 :请点这里
Nagios 的下载地址 :请点这里

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计7410字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中