Nagios插件显示错误的结果

我想检查一下MySQL数据库。 我创build了简单的testing“插件”:

位置:`/ var / lib64 / nagios / plugins

testing:

#!/bin/bash db=$(mysql -e 'SHOW DATABASES' | wc -l) echo $db 

它从本地机器上运行:

 # ./test 71 
  • 但是当从Nagios服务器执行时,它显示“0”

NRPEconfiguration:

 command[test]=/usr/lib64/nagios/plugins/test 

Nagios服务器:

 # ./check_nrpe -H 192.168.1.10 -c "test" 0 

Reagrds

NPRE命令通常以nagiosforms运行。 看起来你的查询实际上是轮询你的nagios用户可以看到多less个数据库。

您的问题有几种解决scheme:

  • 将用户和密码信息添加到您的命令( mysql -uroot -proot -e 'SHOW DATABASES' | wc -l );
  • 添加nagios到你的sudoers文件,这样他就可以以root身份运行mysql( nagios ALL=(ALL) NOPASSWD:/usr/bin/mysql -e 'SHOW DATABASES' );
  • 添加一个nagios用户到你的数据库有足够的权限来查看所有数据库( mysql文档 ) – 推荐 ;