本文出自 “曹坏水” 博客,请务必保留此出处http://cao2012.blog.51cto.com/366908/1132113
NRPE是Nagios的一个功能扩展,它可在远程Linux和UNIX主机上执行插件程序。通过在远程服务器上安装NRPE构件及Nagios插件程序来向Nagios监控平台提供该服务器的一些本地情况,如CPU负载、内存使用、硬盘使用等。这里将Nagios监控平台称为Nagios服务器端,而将远程被监控的服务器称为Nagios客户端。
下图为NRPE构件监控远程主机本地信息的运行原理:
NRPE总共由两部分组成:
--check_nrpe插件,位于监控主机上
--NRPE daemon,运行在远程被监控的Linux主机上
当监控远程Linux/UNIX主机服务或资源时,流程如下:
1、nagios会运行check_nrpe这个插件,并且会告诉它需要检查什么;
2、check_nrpe插件会连接到远程的NRPE daemon,所用的方式是SSL;
3、NRPE daemon会运行相应的nagios插件来执行检查动作;
4、NPRE daemon将检查的结果返回给check_nrpe插件,插件将其递交给nagios做处理。
注意:NRPE daemon需要nagios插件安装在远程的Linux主机上,否则daemon不能做任何的监控。
通过NRPE的检测分为两种:
1)直接检测:检测的对象是运行NRPE的那台Linux主机的本地资源,原理如下:
直接使用NRPE插件监控远程Linux/UNIX主机的本地或者私有资源。例如:CPU负载,内存使用,SWAP空间使用,硬盘等运行状况。
2)间接检测:当运行Nagios的监控主机无法访问到某台被监控主机,但是运行NRPE的机器可以访问得到的时候,运行NRPE的主机就充当一个中间代理,将监控请求发送到被监控对象上。
其实这种情况一般出现在监控主机与被监控主机不在同一段网络内。日常企业里一般不非出现这样情况,所以下面我所做的都是直接检测。
Nagios监控客户端的安装
添加用户名
[root@testdb ~]# useradd -s /sbin/nolgin nagios
安装Nagios的插件nagios-plugin
[root@Nagios ~]# tar -zxvf nagios-plugins-1.4.16.tar.gz
[root@testdb ~]# cd nagios-plugins-1.4.16
[root@testdb nagios-plugins-1.4.16]# ./configure
注意:如果你 RedHat AS4 版本的服务器要添加--enable-redhat-pthread-workaround 选项。
可以从上图中看出NRPE的端口是5666
下一步是make all,输出如下图截图所示:
安装check_nrpe插件
[root@testdb nrpe-2.13]# make install-plugin
#注意:在only_from添加Nagios监控服务器的IP地址。修改后如上图所示!
添加服务端口
[root@testdb ~]#vi /etc/services
#在文件末尾添加
nrpe 5666/tcp
重启服务并验证安装
[root@testdb ~]#/etc/init.d/xinetd restart
[root@testdb ~]# netstat -at|grep nrpe
tcp 0 0 *:nrpe *:* LISTEN
[root@testdb ~]# netstat -an|grep 5666
tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN
也就是在本地用check_nrpe连接nrpe daemon是正常的。
Nagios服务器的部署
安装NRPE
[root@Nagios ~]# cd /usr/local/src/
[root@Nagios src]# tar zxvf nrpe-2.13.tar.gz
[root@Nagios src]# cd nrpe-2.13
[root@Nagios nrpe-2.13]# ./configure && make all
[root@Nagios nrpe-2.13]# make install-plugin
[root@Nagios nrpe-2.13]# make install-daemon
[root@Nagios nrpe-2.13]# make install-daemon-config
[root@Nagios nrpe-2.13]# make install-xinetd
配置NRPE
[root@Nagios ~]# vi /etc/xinetd.d/nrpe 如下图示:
services.cfg:
登陆验证配置
查看配置文件是否正确
[root@Nagios ~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
重新加载配置文件
[root@Nagios ~]# /etc/init.d/nagios reload
用 浏览器登陆验证,如下图所示:
#这篇文章是根据Nagios官方文档和网上一些资料撰写的!附件已上传。