Linux

Nagios:使用相同的commands.cfg文件為不同的主機配置不同的使用者

  • October 14, 2013

我在使用 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
       }

祝你好運!

引用自:https://serverfault.com/questions/545917