首页 > 代码库 > nagios监控内出错NRPE: Unable to read output 解决!

nagios监控内出错NRPE: Unable to read output 解决!

             nagios监控内出错NRPE: Unable to read output 解决!


   由于编写check_mem监控脚本,在监控机报警:NRPE: Unable to read output,其他监控项目正常

wKiom1Opl1mgBn09AABEsqqPBFg504.jpg

初步认定是nagios没有权限去实行check_mem脚本;


1.在监控主机监控客户机内存,遇到NRPE: Unable to read output


  1. # /usr/local/nagios/libexec/check_nrpe -H 1192.168.1.10 -c check_mem


  2.   NRPE: Unable to read output



2.由于监控机可以检测到客户机的其他项目,说明监控机与被监控机的nrpedaemon通信是正常。

  尝试:a. chmod 777 check_mem   chown nagios:nagios check_mem

      ====> 发现还是不行;


3.尝试用Naigos用户shell运行脚本:


  1. #usermod -s /bin/bash nagios


  2. #su - nagios


  3. [nagios@localhost]$ /usr/local/nagios/libexec/check_mem -w 10 -c 5



spacer.gifwKiom1Opj7KANEadAAM2sQ5LTRo663.jpg

出现权限不够。可以判断是nagios运行脚本的权限不足引起的。尝试使用sudo 权限试试。



  1. # vi /etc/sudoers


添加:

nagios ALL=(ALL) NOPASSWD:/usr/local/nagios/libexec/check_mem


注意:为了安全起见,添加只允许运行的监控脚本即可,并且设置脚本不可写状态。


重新sudo运行

  1. #su - nagios

  2. wKiom1OpliKhAMYpAAMMr8Ad9Bo375.jpg


4.最后,编辑nrpe.cfg里面commands命令:

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


  2. command[check_mem]=/usr/bin/sudo /usr/local/nagios//libexec/check_mem -w 20 -c 10

  3. 如果上面命令不行就改为下面的;

  4. command[check_mem]=/usr/local/nagios//libexec/check_mem -w 20 -c 10


5.监控正常:

wKioL1OppPnSq-yaAABa-f1rcJk759.jpg

6.总结:

根据问题查找得出一些分析的注意地方:

(1)、检查客户端nrpe的权限是否可读,可被nagios执行,如果nagios权限不够,需要提权。

(2)、检查nrpe.cfg里面commands命令路径是否正确。

(3)、在配置完nrpe.cfg,没有杀nrpe进程。

(4)、如果以上问题还没解决那就重新编写相关配置文件命令;


7.常见的一些nrpe的错误信息解决方法:



a.检查配置文件是否正确

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg


b.nagios配置nrpe出现如下错误:


CHECK_NRPE: Error - Could not complete SSL handshake.


 

解决方法:——>确保两边的防火墙都可以让5666端口通过!


在被控端


#vi /etc/xinetd.d/nrpe

 

  only_from //增加主控IP

 

  #vi /usr/local/nagios/etc/nrpe.cfg

 

  allowed_hosts //增加主控IP

 

  #service xinetd restart



在监控端:


/usr/local/nagios/libexec/check_nrpe -H 被监控端IP 

——>测试是否连接成功(返回nrpe的版本为正确)


 

c.问题:安装nrpe,编译的时候提示以下信息

   checking for SSL headers... configure: error: Cannot find ssl headers

   原因是缺少openssl-devel包,

   yum -y install openssl-devel 


丢,折腾一个晚上,后期再见哈!


本文出自 “小k” 博客,请务必保留此出处http://zyp88.blog.51cto.com/1481591/1430536