1、Nagios的安装配置与应用之五监控远程Linux服务器Nagios的安装配置与应用之五监控远程Linux服务器NRPE是Nagios的一个功能扩展,它可在远程Linux和UNIX主机上执行插件程序。通过在远程服务器上安装NRPE构件及Nagios插件程序来向Nagios监控平台提供该服务器的一些本地情况,如CPU负载、内存使用、硬盘使用等。这里将Nagios监控平台称为Nagios服务器端,而将远程被监控的服务器称为Nagios客户端。下图为NRPE构件监控远程主机本地信息的运行原理:NRPE总共由两部分组成:-check_nrpe插件,位于监控主机上-NRPE daemon,运行在远程被监
2、控的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的那台
3、Linux主机的本地资源,原理如下:直接使用NRPE插件监控远程Linux/UNIX主机的本地或者私有资源。例如:CPU负载,内存使用,SWAP空间使用,硬盘等运行状况。2)间接检测:当运行Nagios的监控主机无法访问到某台被监控主机,但是运行NRPE的机器可以访问得到的时候,运行NRPE的主机就充当一个中间代理,将监控请求发送到被监控对象上。其实这种情况一般出现在监控主机与被监控主机不在同一段网络内。日常企业里一般不非出现这样情况,所以下面我所做的都是直接检测。Nagios监控客户端的安装添加用户名roottestdb # useradd -s /sbin/nolgin nagios安装N
4、agios的插件nagios-pluginrootNagios #tar -zxvfnagios-plugins-1.4.16.tar.gzroottestdb#cdnagios-plugins-1.4.16roottestdbnagios-plugins-1.4.16# ./configure注意:如果你 RedHat AS4 版本的服务器要添加-enable-redhat-pthread-workaround 选项。roottestdbnagios-plugins-1.4.16#make & make install安装NRPEroottestdb # tar zxvf nrpe-2.13
5、.tar.gzroottestdb # cd nrpe-2.13roottestdb nrpe-2.13# ./configure输出下图的结果:可以从上图中看出NRPE的端口是5666下一步是make all,输出如下图截图所示:安装check_nrpe插件roottestdb nrpe-2.13# make install-plugin其实被监控机不需要安装这个插件,这里我只是为测试!安装deamonroottestdb nrpe-2.13#make install-daemon安装配置文件roottestdb nrpe-2.13#make install-daemon-config将NR
6、PE deamon作为xinetd下的一个服务运行,在这个情况下xinetd就必须先安装好,一般系统都会默认安装了。安装xinetd脚本roottestdb nrpe-2.13#make install-xinetd配置NRPEroottestdb #vi /etc/xinetd.d/nrpe#注意:在only_from添加Nagios监控服务器的IP地址。修改后如上图所示!添加服务端口roottestdb #vi /etc/services#在文件末尾添加nrpe 5666/tcp重启服务并验证安装roottestdb #/etc/init.d/xinetd restartroottestd
7、b # netstat -at|grep nrpetcp 0 0 *:nrpe *:* LISTEN roottestdb # netstat -an|grep 5666tcp 0 0 0.0.0.0:5666 0.0.0.0:* LISTEN 修改权限roottestdb #chown -R nagios:nagios /usr/local/nagios/测试NRPE是否正常工作前面安装了check_nrpe这个插件用于测试,现在就是用的时候,执行/usr/local/nagios/libexec/check_nrpe -H localhost,如下图所示:也就是在本地用check_nrpe
8、连接nrpe daemon是正常的。/usr/local/nagios/libexec/check_nrpe h查看这个命令的用法可以看到用法是check_nrpe H 被监控的主机 -c要执行的监控命令注意:-c后面接的监控命令必须是nrpe.cfg文件中定义的.也就是NRPE daemon只运行nrpe.cfg中所定义的命令。修改Nagios客户端NRPE的配置文件,如下图所示:由于-c后面只能接nrpe.cfg中定义的命令,也就是说现在我们只能用上面定义的这五条命令.我们可以在本机实验一下.如下图所示:Nagios服务器的部署安装NRPErootNagios # cd /usr/loca
9、l/src/rootNagios src#tar zxvf nrpe-2.13.tar.gzrootNagios src# cd nrpe-2.13rootNagios nrpe-2.13# ./configure & make allrootNagios nrpe-2.13# make install-pluginrootNagios nrpe-2.13# make install-daemonrootNagios nrpe-2.13# make install-daemon-configrootNagios nrpe-2.13# make install-xinetd配置NRPErootN
10、agios # vi /etc/xinetd.d/nrpe 如下图示:#注意:在only_from添加要监控的主机IP地址,中间以空格隔开。添加服务端口rootNagios #vi /etc/services#在文件末尾添加,如果不添加端口,nrpe 将不能正常运行nrpe 5666/tcp #nrperootNagios# /etc/init.d/xinetd restartrootNagios # netstat -na | grep 5666tcp 0 0 0.0.0.0:5666 0.0.0.0:*修改命令定义文件由于命令定义文件里默认没有 check_nrpe 命令,所以需要先定义后
11、使用。rootNagios # vim /usr/local/nagios/etc/objects/commands.cfg#nrpe set 在文件末尾添加下面命令定义define commandcommand_name check_nrpecommand_line /usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS$ -c $ARG1$修改Nagios服务器hosts.cfg和services.cfg文件,如下图所示:hosts.cfgservices.cfg:登陆验证配置查看配置文件是否正确rootNagios # /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg重新加载配置文件rootNagios # /etc/init.d/nagios reload用 浏览器登陆验证,如下图所示:本文由 整理分享。
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1