前言:nagios介面。见监测mysql服务错误,如下面:

Warning:NRPE: Unable to read output

1,跟nagios显示器server上check下

1.1。运行check_nrpe命令远程调用

在监控端nagiosserver上运行check_nrpe检查mysql状态报错例如以下:

[root@mysqlvm2 ~]# /usr/lib/nagios/plugins/check_nrpe  -H192.xx.180.xx -c check_mysql_status

NRPE: Unable to read output

You have new mail in /var/spool/mail/root

[root@mysqlvm2 ~]#

1.2,检查下别的check服务

在nagiosserver端检查别的监控项比方check_users,正常例如以下:

[root@mysqlvm2 ~]# /usr/lib/nagios/plugins/check_nrpe  -H192.xx.180.xx -c check_users

USERS OK - 2 users currently logged in |users=2;8;15;0

[root@mysqlvm2 ~]#

这里证明。nagios流程是正常的。能检測到别的监控项比方check_users,可是check_mysql故障报错,还是须要去mysqlserver上再去分析问题究竟出在哪里。

2,在被监控端mysqlservercheck

2.1。调用本地的check_nrpe服务。报一样的错误例如以下:

[root@mysqldb ~]# /usr/lib/nagios/plugins/check_nrpe -Hlocalhost -c check_mysql_status

NRPE: Unable to read output

[root@mysqldb ~]#

去单独运行/etc/nagios/nrpe.cfg里面的check_mysql_status命令。

先用cat找到check_mysql的命令行

[root@mysqldb ~]# cat /etc/nagios/nrpe.cfg |grep check_mysql_status

command[check_mysql_status]=/usr/bin/sudo  /usr/lib/nagios/plugins/check_mysql -unagios -P3306 -s /usr/local/mysql/mysql.sock -Hlocalhost --password='nagiosq@0512' -d test

运行。正常显演示样例如以下:

[root@ mysqldb ~]# /usr/bin/sudo  /usr/lib/nagios/plugins/check_mysql -unagios -P3306 -s /usr/local/mysql/mysql.sock -Hlocalhost --password='nagiosq@0512' -d test

Uptime: 1122870  Threads: 108  Questions: 11559152  Slow queries: 1278  Opens: 3190  Flush tables: 1  Open tables: 395  Queries per second avg: 10.294|Connections=844188c;;; Open_files=49;;; Open_tables=395;;; Qcache_free_memory=209024;;; Qcache_hits=51724c;;; Qcache_inserts=73877c;;; Qcache_lowmem_prunes=5599c;;; Qcache_not_cached=2572345c;;; Qcache_queries_in_cache=1985;;; Queries=11559153c;;; Questions=10724833c;;; Table_locks_waited=0c;;; Threads_connected=107;;; Threads_running=2;;; Uptime=1122870c;;;

[root@ mysqldb ~]#

从这里能够看到check_mysql脚本没有问题,是正常的。

2.2。检查下check_mysql的运行权限

[root@mysqldb ~]# ll /usr/lib/nagios/plugins/check_mysql

-rwxrwxr-x. 1 root root 168272 7月   8 14:54 /usr/lib/nagios/plugins/check_mysql

[root@mysqldb ~]#

看到是最后一个x,表明有运行权限,sudo到nagios账号。看能否运行,例如以下所看到的:

[root@mysqldb ~]# su - nagios

-bash-4.1$ /usr/lib/nagios/plugins/check_mysql -unagios -P3306 -s /usr/local/mysql/mysql.sock -Hlocalhost --password='nagiosq@0512' -d test

Uptime: 1124403  Threads: 106  Questions: 11586454  Slow queries: 1278  Opens: 3190  Flush tables: 1  Open tables: 395  Queries per second avg: 10.304|Connections=846235c;;; Open_files=49;;; Open_tables=395;;; Qcache_free_memory=211696;;; Qcache_hits=51786c;;; Qcache_inserts=73915c;;; Qcache_lowmem_prunes=5732c;;; Qcache_not_cached=2578541c;;; Qcache_queries_in_cache=1890;;; Queries=11586455c;;; Questions=10750088c;;; Table_locks_waited=0c;;; Threads_connected=105;;; Threads_running=2;;; Uptime=1124403c;;;

-bash-4.1$

这里表明既是naigos账号也能够运行check_mysql脚本的,check_mysql脚本路径以及运行权限都没有问题。都是能够的。

2.3,检查sudo的里面的nagios权限配置

Nagios远程调用运行原理是,通过nagios账号来运行全部的check_xxx脚本的。可是我的nrpeclient是root账号安装的。所以的check_xxx脚本也是root用户所属,nagios在远程调用的时候是否默认运行了su – root,然后在运行check_msyql脚本命令?所以去编辑sudo配置,改动例如以下,把Defaults    requiretty凝视掉,然后加入一行nagios ALL=(ALL) NOPASSWD:/usr/lib/nagios/plugins/check_mysql。

vim  /etc/sudoers

#表示不须要终端控制

#Defaults    requiretty

#表示通过nagios命令运行check_mysql命令不须要密码。

nagios ALL=(ALL) NOPASSWD:/usr/lib/nagios/plugins/check_mysql

改动完。wq!强行保存退出vim编辑,然后运行本次check_npre操作检查。已经恢复正常例如以下:

[root@mysqldb ~]# /usr/lib/nagios/plugins/check_nrpe -Hlocalhost -c check_mysql_status

Uptime: 1123659  Threads: 110  Questions: 11573270  Slow queries: 1278  Opens: 3190  Flush tables: 1  Open tables: 395  Queries per second avg: 10.299|Connections=845248c;;; Open_files=49;;; Open_tables=395;;; Qcache_free_memory=227704;;; Qcache_hits=51751c;;; Qcache_inserts=73892c;;; Qcache_lowmem_prunes=5656c;;; Qcache_not_cached=2575554c;;; Qcache_queries_in_cache=1943;;; Queries=11573271c;;; Questions=10737891c;;; Table_locks_waited=0c;;; Threads_connected=109;;; Threads_running=2;;; Uptime=1123659c;;;

再去nagiosserver端运行check_nrpe检查,正常例如以下:

[root@mysqlvm2 ~]# /usr/lib/nagios/plugins/check_nrpe  -H192.xx.180.xx -c check_mysql_status

Uptime: 1123673  Threads: 110  Questions: 11573464  Slow queries: 1278  Opens: 3190  Flush tables: 1  Open tables: 395  Queries per second avg: 10.299|Connections=845264c;;; Open_files=49;;; Open_tables=395;;; Qcache_free_memory=227704;;; Qcache_hits=51751c;;; Qcache_inserts=73892c;;; Qcache_lowmem_prunes=5656c;;; Qcache_not_cached=2575596c;;; Qcache_queries_in_cache=1943;;; Queries=11573465c;;; Questions=10738069c;;; Table_locks_waited=0c;;; Threads_connected=109;;; Threads_running=2;;; Uptime=1123673c;;;

[root@mysqlvm2 ~]#

2.4,再去nagios监控界面,查看mysql选项已经恢复正常,例如以下图所看到的:


3 附带一些其他原因

引起NRPE: Unable to read output报错的原因有非常多种,google了下其他的情况例如以下:

(1),client配置文件/etc/nagios/npre.cfg里面没有加入nagiosserverIP地址。比方 allowed_hosts=127.0.0.1,IP后面IP没有填写或者填写有误。

(2),查clientnrpe的权限是否可读,可被nagios运行,假设nagios权限不够。须要赋予X可运行权限。

(3)。nrpe.cfg里面commands命令路径是否正确,比方有些既有rpm方式安装的也有源代码安装的,两者路径不一样,源代码安装ngiosclient路径是/usr/local/nagios/libexec/check_mysql,而rpm包安装路径是/usr/lib/nagios/plugins/check_mysql。

(4)。client配置文件中面有2个一模一样的命令。比方/etc/nagios/nrpe.cfg里面有例如以下2个check_zombie_procs配置命令:

command[check_zombie_procs]=/usr/lib/nagios/plugins/check_procs -w 10 -c 15 -s Z
command[check_zombie_procs]=/usr/lib/nagios/plugins/check_iostat -w

那么就会报NRPE: Unable to read output的错误。由于两个命令混乱了。不知道去运行哪一个了。

来自: http://blog.itpub.net/blog/post/id/1217246/

參考文章:http://blog.csdn.net/kakane/article/details/9615795

版权声明:本文博主原创文章。博客,未经同意不得转载。

Nagios显示器MySQL一个错误:NRPE: Unable to read output具体的解决过程的更多相关文章

  1. [nagios监控] NRPE: Unable to read output 的原因及排除

    nrpe被监控端运行定义命令正常,监控端运行 #/usr/local/nagios/libexec/check_nrpe -H 117.121.9.200 -c check_oracle_tables ...

  2. NRPE: Unable to read output 问题处理总结

    自定义nagios监控命令check_disk_data,首先在nagios服务端command.cfg定义了#'check_disk_data' command definitiondefine c ...

  3. 网站nginx负载下因程序错误导致多节点重复处理请求的解决过程

    目录 前言 问题来了 问题又来了 问题分析 困惑 转机 后续 前言: 这是我上周工作过程中的一次解决问题的过程.解决的是nginx负载环境下,因为应用程序异常导致某一请求被多节点站点重复处理的问题. ...

  4. Nagios显示器mysql定从库: libmysqlclient.so.18: cannot open shared object file: No such

    做mysql的slave时间监控,必须check_mysql文字,check当误差: error while loading shared libraries: libmysqlclient.so.1 ...

  5. JDK安全证书的一个错误消息 No subject alternative names present的解决办法

    我使用Java消费某网站一个Restful API时,遇到这个错误: 21:31:16.383 [main] DEBUG org.springframework.web.client.RestTemp ...

  6. 安装mysql-python需要碰到错误:Unable to find vcvarsall.bat 的解决方法

    1.发现从https://pypi.python.org/pypi/MySQL-python/1.2.5#downloads  下载下来的python版本是2.7

  7. eclipse错误:Unable to read workbench state. Workbench UI layout will be reset.XML document structures

    Unable to read workbench state. Workbench UI layout will be reset.XML document structures must start ...

  8. .net core入门-发布及部署_异常(处理程序“aspNetCore”在其模块列表中有一个错误模块“AspNetCoreModuleV2")处理

    备注:本人使用开发工具:VS2017,.NET Core 2.2,其中VS2017原本自带2.1,我单独从官网下载了2.2的程序集安装包,但是没有下配套的运行环境,运行项目时出了一个问题. 以下是我在 ...

  9. linux服务器报No space left on device错误的解决过程记录

    起因 今天在本地提交了点代码,但到服务器上git pull的时候提示No space left on device,第一反应是猜想可能硬盘满了(很有可能是log导致的),不过想想又觉得不太可能,这台服 ...

随机推荐

  1. HDU 1557 权利指数 国家压缩 暴力

    HDU 1557 权利指数 状态压缩 暴力 ACM 题目地址:HDU 1557 权利指数 题意:  中文题,不解释. 分析:  枚举全部集合,计算集合中的和,推断集合里面的团体是否为关键团队. 代码: ...

  2. FTP文件操作之上传文件

    上传文件是一个比较常用的功能,前段时间就做了一个上传图片的模块.开始采用的是共享文件夹的方式,后来发现这种方法不太好.于是果断将其毙掉,后来选择采用FTP的方式进行上传.个人感觉FTP的方式还是比较好 ...

  3. 我收集的sonar参考资料

    sonarQube代码质量管理工具环境筹建笔记 http://www.myexception.cn/open-source/1307345.html 配置sonar.jenkins进行持续审查 htt ...

  4. Twitter实时搜索系统EarlyBird

    twitter要存档tweet采用lucene做全量指数,新发型是实时索引推文.检索实时(10在几秒钟内指数).实时索引和检索系统,称为EarlyBird. 感觉写更清晰,简洁,这个信息是真实的,只有 ...

  5. java通讯录

    )设一个通信录由以下几项数据信息构成: 数据项               类型 姓名                  字符串 地址                  字符串 邮政编码        ...

  6. ASP.NET自定义控件组件开发 第五章 模板控件开发

    原文:ASP.NET自定义控件组件开发 第五章 模板控件开发 第五章 模板控件开发 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开发 第一章 第二篇 接 ...

  7. 【cocos2d-x】尝鲜 Cocos Code IDE(不断更新)

    Cocos Code IDE 是一个基于 Eclipse 的跨平台 IDE ,专门为 cocos2d lua & js 开发者准备,通过此工具.你能够方便的创建游戏project.编写而且调试 ...

  8. 算法 - 乞讨n中位数(C++)

    //************************************************************************************************** ...

  9. 系列四TortoiseSvn客户端软件

    原文:系列四TortoiseSvn客户端软件 TortoiseSvn介绍 TortoiseSvn 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录.文件保存在中 ...

  10. SystemTrayDemo

    遗留问题:win7  java.awt.TrayIcon的displayMessage方法没有生效,通知消息不能正常弹出. 许多桌面环境都有一个区域用于放置在后台运行的程序的图标,这些程序偶尔会将某些 ...