Nagios 插件显示错误结果

Nagios 插件显示错误结果

我想检查 MySQL 数据库的数量。我创建了一个简单的测试“插件”:

位置:/var/lib64/nagios/plugins

测试:

#!/bin/bash

db=$(mysql -e 'SHOW DATABASES' | wc -l)
echo $db

它在本地机器上运行:

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

NRPE配置:

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

Nagios 服务器:

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

致意

答案1

NPRE 命令通常以 的形式运行nagios。看起来您的查询实际上是在轮询nagios用户可以看到多少个数据库。

您的问题有几种解决方案:

  • 向您的命令添加用户和密码信息(mysql -uroot -proot -e 'SHOW DATABASES' | wc -l);
  • 添加nagios到您的sudoers文件中,以便他可以以 root 身份运行 mysql(nagios ALL=(ALL) NOPASSWD:/usr/bin/mysql -e 'SHOW DATABASES');
  • 将 nagios 用户添加到您的数据库,并赋予其足够的权限来查看所有数据库(mysql 文档) -受到推崇的

答案2

顺便说一句,你应该咨询http://nagios.sourceforge.net/docs/3_0/pluginapi.html因为插件脚本中显示的输出对于 Nagios 来说非常非标准,并且会导致问题。

相关内容