Nagios显示器MySQL一个错误:NRPE: Unable to read output具体的解决过程
前言: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具体的解决过程的更多相关文章
- [nagios监控] NRPE: Unable to read output 的原因及排除
nrpe被监控端运行定义命令正常,监控端运行 #/usr/local/nagios/libexec/check_nrpe -H 117.121.9.200 -c check_oracle_tables ...
- NRPE: Unable to read output 问题处理总结
自定义nagios监控命令check_disk_data,首先在nagios服务端command.cfg定义了#'check_disk_data' command definitiondefine c ...
- 网站nginx负载下因程序错误导致多节点重复处理请求的解决过程
目录 前言 问题来了 问题又来了 问题分析 困惑 转机 后续 前言: 这是我上周工作过程中的一次解决问题的过程.解决的是nginx负载环境下,因为应用程序异常导致某一请求被多节点站点重复处理的问题. ...
- 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 ...
- JDK安全证书的一个错误消息 No subject alternative names present的解决办法
我使用Java消费某网站一个Restful API时,遇到这个错误: 21:31:16.383 [main] DEBUG org.springframework.web.client.RestTemp ...
- 安装mysql-python需要碰到错误:Unable to find vcvarsall.bat 的解决方法
1.发现从https://pypi.python.org/pypi/MySQL-python/1.2.5#downloads 下载下来的python版本是2.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 ...
- .net core入门-发布及部署_异常(处理程序“aspNetCore”在其模块列表中有一个错误模块“AspNetCoreModuleV2")处理
备注:本人使用开发工具:VS2017,.NET Core 2.2,其中VS2017原本自带2.1,我单独从官网下载了2.2的程序集安装包,但是没有下配套的运行环境,运行项目时出了一个问题. 以下是我在 ...
- linux服务器报No space left on device错误的解决过程记录
起因 今天在本地提交了点代码,但到服务器上git pull的时候提示No space left on device,第一反应是猜想可能硬盘满了(很有可能是log导致的),不过想想又觉得不太可能,这台服 ...
随机推荐
- HDU 1557 权利指数 国家压缩 暴力
HDU 1557 权利指数 状态压缩 暴力 ACM 题目地址:HDU 1557 权利指数 题意: 中文题,不解释. 分析: 枚举全部集合,计算集合中的和,推断集合里面的团体是否为关键团队. 代码: ...
- FTP文件操作之上传文件
上传文件是一个比较常用的功能,前段时间就做了一个上传图片的模块.开始采用的是共享文件夹的方式,后来发现这种方法不太好.于是果断将其毙掉,后来选择采用FTP的方式进行上传.个人感觉FTP的方式还是比较好 ...
- 我收集的sonar参考资料
sonarQube代码质量管理工具环境筹建笔记 http://www.myexception.cn/open-source/1307345.html 配置sonar.jenkins进行持续审查 htt ...
- Twitter实时搜索系统EarlyBird
twitter要存档tweet采用lucene做全量指数,新发型是实时索引推文.检索实时(10在几秒钟内指数).实时索引和检索系统,称为EarlyBird. 感觉写更清晰,简洁,这个信息是真实的,只有 ...
- java通讯录
)设一个通信录由以下几项数据信息构成: 数据项 类型 姓名 字符串 地址 字符串 邮政编码 ...
- ASP.NET自定义控件组件开发 第五章 模板控件开发
原文:ASP.NET自定义控件组件开发 第五章 模板控件开发 第五章 模板控件开发 系列文章链接: ASP.NET自定义控件组件开发 第一章 待续 ASP.NET自定义控件组件开发 第一章 第二篇 接 ...
- 【cocos2d-x】尝鲜 Cocos Code IDE(不断更新)
Cocos Code IDE 是一个基于 Eclipse 的跨平台 IDE ,专门为 cocos2d lua & js 开发者准备,通过此工具.你能够方便的创建游戏project.编写而且调试 ...
- 算法 - 乞讨n中位数(C++)
//************************************************************************************************** ...
- 系列四TortoiseSvn客户端软件
原文:系列四TortoiseSvn客户端软件 TortoiseSvn介绍 TortoiseSvn 是 Subversion 版本控制系统的一个免费开源客户端,可以超越时间的管理文件和目录.文件保存在中 ...
- SystemTrayDemo
遗留问题:win7 java.awt.TrayIcon的displayMessage方法没有生效,通知消息不能正常弹出. 许多桌面环境都有一个区域用于放置在后台运行的程序的图标,这些程序偶尔会将某些 ...