monicazhang 发表于 2015-12-12 14:00:04

Nagios 监控系统架构设计攻略大全(4)

来自:网络利用 NRPE 扩展 Nagios 功能NRPE 是 Nagios 的一个功能扩展,它可在远程 Linux 和 UNIX 主机上执行插件程序。通过在远程服务器上安装 NRPE 构件及 Nagios 插件程序来向 Nagios 监控平台提供该服务器的一些本地情况,如 CPU 负载、内存使用、硬盘使用,服务等。这里将 Nagios 监控平台称为 Nagios 服务器 端,而将远程被监控的服务器称为 Nagios 客户端。          监控软件下图为 NRPE 构件监控远程主机本地信息的运行原理: wyfs02/M02/22/D9/wKiom1MpY8Hhapz0AAA42mWpNIM304.gif图 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图 18. 直接检测结构图直接使用 NRPE 插件监控远程 Linux/UNIX 主机的本地或者私有资源;如 CPU 负载、内存使用、SWAP 空间使用、硬盘等运行状况。   nagios培训间接检测:当运行 Nagios 的监控主机无法访问到某台被监控主机,但是运行 NRPE 的机器可以访问得到的时候,运行 NRPE 的主机就充当一个中间代理,将监控请求发送到被监控对象上。wyfs02/M01/22/DB/wKioL1MpY-jyxEgmAAAhxWUcxe4553.gif图 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配置
由于在 Nagios 命令定义文件 commands.cfg 没有 check_nrpe 命令, 因此需要对此文件进行修改与定义,配置细节如下图:wyfs02/M02/22/D9/wKiom1MpZFvC1_lcAAASp6YATD8700.jpg图 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图 21. 在被监控主机,增加 NRPE 指令


[*]查看配置文件是否正确             开源监控软件
清单 16. 服务器安装 NRPE


[*]# nagioscheck



[*]重新加载配置文件
清单 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



[*]安装 NRPE
在 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/



[*]配置 NRPE
定义被监控的 Linux 主机的对象,监控此主机的 CPU 负载、登录用户数、磁盘分区、进程、swap 使用情况等,编辑/usr/local/nagios/etc/nrpe.cfg 文件, 内容如下示例:清单 20. NRPE 配置与设定


command=/usr/local/nagios/libexec/check_users -w 5 -c 10 command=/usr/local/nagios/libexec/check_load -w 30,25,20 -c 60,55,40 command=/usr/local/nagios/libexec/check_disk -w 15% -c 8% -p /dev/sda3 command=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/vg01 command=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z [*]command=/usr/local/nagios/libexec/check_swap -w 20 -c 10



[*]定义 Xinetd 服务支持 nrpe
这里只需要修改 only_from 项,增加 Ngaios 服务的地址即可,这样一来服务器与客户端就可进行 nrpe 会话,监控到 Linux 客户端相关信息,被监控端也更加容易维护管理,见下图:


[*]#vim /etc/xinetd.d/nrpe
wyfs02/M01/22/DB/wKioL1MpZOSSrY4wAAAewzEVdBE931.jpg图 22. 定义 Xinetd 服务支持 nrpe


[*]定义服务端口
在 Linux 客户端"/etc/services" 文件增加一行:


[*]nrpe            5666/tcp                #Naigos_Client



[*]测试 NRPE
由于 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
页: [1]
查看完整版本: Nagios 监控系统架构设计攻略大全(4)