Linux
Nagios:使用相同的commands.cfg文件為不同的主機配置不同的使用者
我在使用 check_by_ssh 執行 Nagios 外掛的 unix 環境中。一些主機有不同的 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 nagios 替換為 -l user1 ?
我希望有一種方法可以在主機定義中傳遞使用者名,以說明這組主機應該使用 user1 登錄,而另一組主機應該使用 user2。
任何幫助表示讚賞。
謝謝
注意:我沒有測試過這段程式碼。
也就是說,我可能會在 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 }
祝你好運!