Назад | Перейти на главную страницу

Nagios: настраивайте разных пользователей для разных хостов с помощью одного и того же файла commands.cfg

Я нахожусь в среде unix, где я использую check_by_ssh для выполнения подключаемых модулей Nagios. У некоторых хостов есть разные учетные записи 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
        }

Удачи!