我是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。是什么给了什么?
答案 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一样。