在Nagios中使用check_by_ssh产生奇怪的行为(和远程执行失败)

时间:2012-10-05 19:58:43

标签: ssh nagios remote-execution

我是Nagios的新手,我一直在努力让Nagios处理一些简单的check_by_ssh命令。我正在成功地从命令行运行命令,如下所示:

#/usr/local/nagios/libexec/check_by_ssh -H HERP.DERP.COM -C "/home/derrp/bin/...
 check_disk -w 50 -c 10 -A"

提出

DISK OK - free space: blah blah blah

所以,这很好;它工作o.k.从命令行。但是,当我把它扔进我的commands.cfg文件时(首先使用宏$USER1$$HOSTADDRESS$,虽然文字信息产生相同的结果),并检查Nagios的web界面进行验证,它告诉我

Remote command execution failed: ssh_askpass: exec(/usr/bin/ssh-askpass): 
No such file or directory

我确保安装了ssh-askpass。是什么给了什么?

3 个答案:

答案 0 :(得分:3)

由于某种原因,添加“-E”标志修复它。根据{{​​1}}手册页,这是忽略check_by_ssh标志。现在我从check_raid获得输出。

最终命令:

  

$ USER1 $ / check_by_ssh -i~nagios / .ssh / id_dsa -H $ HOSTADDRESS $   -t 60 -l -l root -o StrictHostKeyChecking = no -o ConnectTimeout = 15 -o BatchMode = yes -o ServerAliveCountMax = 3 -o ServerAliveInterval = 10 -C   “/ usr / local / libexec / nagios / check_raid”-E

答案 1 :(得分:0)

您必须设置ssh密钥,以便'nagios'用户可以ssh到远程主机而不需要私钥上的密码短语,或者它无法使用check_by_ssh运行检查。< / p>

直到你可以运行(作为nagios用户)这样的事情......

ssh [nagios@]remotehost.example.com /path/to/your/plugins/check_procs

...您没有正确设置密钥。

答案 2 :(得分:0)

我遇到了类似的问题 - 正在运行

sudo -u nagios check_by_ssh .... 

帮助 - 我对私钥的权限错误。但是sudo在这里必不可少 - 以root身份运行的东西,并不一定像nagios一样。