我在unix环境中使用check_by_ssh来执行Nagios插件。 less数主机有一个不同的unix帐户,Nagios需要ssh来运行插件。 我通过这样的-l传递帐户名称:
command_line $USER1$/check_by_ssh -p 22 \ -H $HOSTADDRESS$ -l <user> -i /home/nagios/.ssh/$HOSTNAME$ -C '<plug-in path>'
对于具有不同unix帐户的机器,有没有办法使所有命令定义翻倍,例如用-l user1replace-l nagios?
我希望有一种方法可以在主机定义中传递用户名,表示这组主机应该用user1login,而另一组主机应该用user2。
任何帮助表示赞赏。
谢谢
注意:我没有testing这个代码。
也就是说,我可能会在commands.cfg中定义一个替代检查,其中包含以下内容:
# Check by SSH for hosts with different account command_line $USER1$/check_by_ssh_alt -p 22 \ -H $HOSTADDRESS$ -l $ARG1$ -i /home/nagios/.ssh/$HOSTNAME$ -C '<plug-in path>'
然后用像这样的东西调用它:
define service{ use generic-service hostgroup_name hostgroup_1 service_description Some Check by SSH contacts hostgroup_1_admins notification_options w,c,r notification_period 24x7 notification_interval 0 check_command check_ssh_alt!user1 }
祝你好运!