1

我是 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

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

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

我已确保已安装 ssh-askpass。是什么赋予了?

4

3 回答 3

3

出于某种原因,添加“-E”标志修复了它。根据check_by_ssh手册页,这是忽略STDERR标志。现在我得到了 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

于 2013-08-02T13:41:20.500 回答
0

您必须设置 ssh 密钥,以便“nagios”用户可以 ssh 到远程主机而无需在私钥上设置密码,否则它无法使用 check_by_ssh 运行检查。

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

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

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

于 2012-10-09T21:30:50.323 回答
0

我有一个类似的问题 - 运行

sudo -u nagios check_by_ssh .... 

帮助 - 我对私钥的权限错误。但是 sudo 在这里是必不可少的 - 以 root 身份运行的工作不一定作为 nagios 工作。

于 2013-01-26T12:19:10.367 回答