来自:网络 利用 NRPE 扩展 Nagios 功能 NRPE 是 Nagios 的一个功能扩展,它可在远程 Linux 和 UNIX 主机上执行插件程序。通过在远程服务器上安装 NRPE 构件及 Nagios 插件程序来向 Nagios 监控平台提供该服务器的一些本地情况,如 CPU 负载、内存使用、硬盘使用,服务等。这里将 Nagios 监控平台称为 Nagios 服务器 端,而将远程被监控的服务器称为 Nagios 客户端。 监控软件 下图为 NRPE 构件监控远程主机本地信息的运行原理: [ /wyfs02/M02/22/D9/wKiom1MpY8Hhapz0AAA42mWpNIM304.gif][/url] 图 17. 监控远程主机原理图 NRPE 组成部分与检测类型 NRPE 总共由两部分组成:
- check_nrpe 插件,位于监控主机上
- NRPE daemon,运行在远程被监控的 Linux 主机上
当监控远程 Linux/UNIX 主机服务或资源时,工作流程如下:
- nagios 会运行 check_nrpe 这个插件,并且会告诉它需要检查什么;nagios实施
- check_nrpe 插件会连接到远程的 NRPE daemon,所用的方式是 SSL;
- NRPE daemon 会运行相应的 Nagios 插件来执行检查动作;
- NPRE daemon 将检查的结果返回给 check_nrpe 插件,插件将其递交给 Nagios 做处理。
- NRPE daemon 需要 Nagios 插件安装在远程的 Linux 主机上,否则 daemon 不能做任何的监控。
NRPE 的检测类型分为两种: 直接检测:检测的对象是运行 NRPE 的那台 Linux 主机的本地资源,原理如下: [ /wyfs02/M02/22/DB/wKioL1MpY1bzft2uAAAnYXsEwJw081.gif][/url] 图 18. 直接检测结构图 直接使用 NRPE 插件监控远程 Linux/UNIX 主机的本地或者私有资源;如 CPU 负载、内存使用、SWAP 空间使用、硬盘等运行状况。 nagios培训 间接检测:当运行 Nagios 的监控主机无法访问到某台被监控主机,但是运行 NRPE 的机器可以访问得到的时候,运行 NRPE 的主机就充当一个中间代理,将监控请求发送到被监控对象上。 [ /wyfs02/M01/22/DB/wKioL1MpY-jyxEgmAAAhxWUcxe4553.gif][/url] 图 19. 间接检测结构图 在服务器端安装 NRPE 安装 清单 15. 服务器安装 NRPE
# cd /usr/local/src/ # tar zxvf nrpe-2.12.tar.gz # cd nrpe-2.12 # ./configure && make all # make install-plugin # make install-daemon - # make install-daemon-config
由于在 Nagios 命令定义文件 commands.cfg 没有 check_nrpe 命令, 因此需要对此文件进行修改与定义,配置细节如下图: [ /wyfs02/M02/22/D9/wKiom1MpZFvC1_lcAAASp6YATD8700.jpg][/url] 图 20. 在 commands.cfg 文件中增加 NRPE 配置 在被监控或远程主机上增加 check_nrpe 的相关配置,由于 hosts.cfg 已定义了相应的主机,所以这里编辑文件 Nagios 服务器上的 services.cfg 文件即可:
- #vim /usr/local/nagios/etc/monitor/services.cfg
[ /wyfs02/M00/22/D9/wKiom1MpZH-iUmSHAAA3Scf5_9c946.jpg][/url] 图 21. 在被监控主机,增加 NRPE 指令 清单 16. 服务器安装 NRPE 清单 17. Ngaios 配置加载
- # /etc/init.d/nagios reload
在 Linux 客户端安装 NRPE 安装
- 安装 Nagios 插件 nagios-plugin
添加 nagios 用户名,且不允许 nagios 用户登录, 此用户用于与 Nagios 服务器通信所用。 nagios安装 清单 18. 客户端安装 nagios-plugin
# useradd -s /sbin/nulgin nagios # tar -zxvf nagios-plugins-1.4.14.tar.gz # cd nagios-plugins-1.4.14 #./configure - # make && make install
在 Linux 客户端安装 nrpe 程序包,根据编译提示向导完成安装操作。在安装的过程中会看到 NRPE 的端口为 5666,且可通过 Xinetd 服务来控制 nrpe 进程,具体实现步骤如下: 清单 19. 客户端安装 NRPE
#tar zxvf tar zxvf nrpe-2.12.tar.gz # cd nrpe-2.12 #./configure #make all #make install-plugin #make install-daemon #make install-daemon-config #make install-xinetd - #chown -R nagios:nagios /usr/local/nagios/
定义被监控的 Linux 主机的对象,监控此主机的 CPU 负载、登录用户数、磁盘分区、进程、swap 使用情况等,编辑/usr/local/nagios/etc/nrpe.cfg 文件, 内容如下示例: 清单 20. NRPE 配置与设定
command[check_users]=/usr/local/nagios/libexec/check_users -w 5 -c 10 command[check_load]=/usr/local/nagios/libexec/check_load -w 30,25,20 -c 60,55,40 command[check_sda3]=/usr/local/nagios/libexec/check_disk -w 15% -c 8% -p /dev/sda3 command[check_vg01]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/vg01 command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z - command[check_swap_1]=/usr/local/nagios/libexec/check_swap -w 20 -c 10
这里只需要修改 only_from 项,增加 Ngaios 服务的地址即可,这样一来服务器与客户端就可进行 nrpe 会话,监控到 Linux 客户端相关信息,被监控端也更加容易维护管理,见下图: [ /wyfs02/M01/22/DB/wKioL1MpZOSSrY4wAAAewzEVdBE931.jpg][/url] 图 22. 定义 Xinetd 服务支持 nrpe 在 Linux 客户端"/etc/services" 文件增加一行:
- nrpe 5666/tcp #Naigos_Client
由于 NRPE 相应的插件已经安装成功, 这里使用 check_nrpe 命令来验证是否 nrpe 是否正常运行,如果执行以下命令能够显示 NRPE 的具体版本信息,则表示 nrpe 运行正常,加载重启 xinetd 服务即可。 清单 21. NRPE 功能测试
#/usr/local/nagios/libexec/check_nrpe -H localhost NRPE v2.12 - #/etc/init.d/xinetd restart
想做Nagios, Zabbix,Cacti,iTop各种交流的,可以进入开源监控工具Nagios交流 QQ群号 :476809427
|