nrpe: unable to read output 问题处理总结-凯发app官方网站

凯发app官方网站-凯发k8官网下载客户端中心 | | 凯发app官方网站-凯发k8官网下载客户端中心
  • 博客访问: 6315127
  • 博文数量: 162
  • 博客积分: 3600
  • 博客等级: 中校
  • 技术积分: 10366
  • 用 户 组: 普通用户
  • 注册时间: 2011-01-19 11:23
个人简介

专注系统运维、网络架构,研究技术凯发app官方网站的解决方案,记录我的思想轨迹、工作学习、生活和关注的领域

文章分类
文章存档

2014年(2)

2013年(16)

2012年(27)

2011年(117)

相关博文
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·
  • ·

分类: 系统运维

2012-12-06 14:30:24

在添加nagios客户端nrpe时,遇到nrpe: unable to read output


  1. # /usr/local/nagios/libexec/check_nrpe -h 192.168.15.178 -c check_mysql_myisam_lock

  2. nrpe: unable to read output

可以查看到客户端的nrpe信息,说明监控机与被监控机的nrpedaemon通信是正常。

手动运行监控脚本:

  1. # /usr/local/nagios//libexec/check_mysql_myisam_lock.sh -w 1 -c 1

  2. ok - mysql myisam lock is 0.04%,table_locks_waited is 1047362,table_locks_immediate is 2522055024|keyh=0.0415281%;1047362;2522055024;0;0

获取是数据正常。

尝试用naigos用户shell运行脚本:


  1. #usermod -s /bin/bash nagios

  2. #su - nagios

  3. [nagios@mysql ~]$ /usr/local/nagios/libexec/check_mysql_myisam_lock.sh
  4. error 2002 (hy000): can't connect to local mysql server through socket '/mysqldata/mysql.sock' (13)
    error 2002 (hy000): can't connect to local mysql server through socket '/mysqldata/mysql.sock' (13)
    awk: cmd. line:1: begin{printf "%.2f%\n",(/)*100}
    awk: cmd. line:1:                          ^ unterminated regexp
    awk: cmd. line:2: begin{printf "%.2f%\n",(/)*100}
    awk: cmd. line:2:                                ^ unexpected newline or end of string
    awk: cmd. line:1: begin{printf (/)*100}
    awk: cmd. line:1:                ^ unterminated regexp
    awk: cmd. line:2: begin{printf (/)*100}
    awk: cmd. line:2:                      ^ unexpected newline or end of string
    (standard_in) 1: parse error
    (standard_in) 1: parse error

提示运行监控脚本错误,无法连接数据库,那么获取的性能数据就错误,naigos出现

nrpe: unable to read output

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


  1. # vi /etc/sudoers

添加:

nagios all=(all) nopasswd:/usr/local/nagios/libexec/check_mysql_myisam_lock


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

重新sudo运行

  1. #su - nagios

  2. [nagios@mysql ~]$/usr/bin/sudo /usr/local/nagios/libexec/check_mysql_myisam_lock.sh

  3. ok - mysql myisam lock is 0.04%,table_locks_waited is 1047377,table_locks_immediate is 2522087304|keyh=0.0415282%;1047377;2522087304;0;0


找到了问题。

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

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

  2. command[check_mysql_myisam_lock]=/usr/bin/sudo /usr/local/nagios//libexec/check_mysql_myisam_lock.sh -w 1 -c 1

监控正常:

在网上也查找了相关资料,出现的问题可能有很多种。

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

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

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

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

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

在监控机上,执行:


  1. #root@localhost libexec]#/usr/local/nagios/libexec/check_nrpe -h ip

  2. check_nrpe: error - could not complete ssl handshake.

凯发app官方网站的解决方案:

在被监控机nrpe.cfg中,增加监控主机的地址:


  1. #note: this option is ignored if nrpe is running under eitherinetd or xinetd

  2. allowed_hosts=127.0.0.1,ip

注意两个地址以逗号隔开并关闭超级守护进程xinetd.

阅读(28393) | 评论(1) | 转发(2) |
给主人留下些什么吧!~~

2013-05-24 18:00:39

编辑nrpe.cfg里面commands命令 添加/usr/bin/sudo 之后 ”nrpe无法读取输出“这应该改哪里的权限 还是怎么办 脚本是自己写的一个别的脚本

|
")); function link(t){ var href= $(t).attr('href'); href ="?url=" encodeuricomponent(location.href); $(t).attr('href',href); //setcookie("returnouturl", location.href, 60, "/"); }
网站地图