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

Пользовательская команда nagios, добавьте $ HOSTADDRESS $

Я очень новичок в nagios и пытаюсь получить индивидуальную команду, чтобы подчиняться моей воле.

Я просмотрел различные примеры и не могу найти никого, кто бы добавил макрос $ HOSTADDRESS $, поэтому, возможно, мне придется пойти по другому пути, но мне нужно передать аргумент команде, который выглядит примерно так:

HOST_ADDRESS/StatusCheck?auth=secretKey

Вот пример, который работает (только для 1 хоста)

define service {
    use                   generic-service
    hostgroup_name        my-hostgroup
    service_description   my custom check
    check_command         check_custom_status!http://example.com/StatusCheck?auth=secretKey
}

Очевидно, это не работает для меня, поскольку он проверяет только один хост (в данном случае example.com).

Вот пример, который не работает, но я бы хотел, чтобы он работал, могу ли я немного изменить синтаксис, чтобы заставить его работать?

define service {
    use                   generic-service
    hostgroup_name        my-hostgroup
    service_description   my custom check
    check_command         check_custom_status!$HOSTADDRESS$/StatusCheck?auth=secretKey
}

(не проверяет /StatusCheck страница). Как добавить макрос $ HOSTADDRESS $?

Я надеюсь, что это действительно легко исправить, извиняюсь, если я пропустил что-то очень простое.

Определение команды

define command {
    command_name    check_custom_status
    command_line    $USER1$/check_custom_status.pl -U $ARG1$
}

Мой скрипт perl принимает единственный параметр url (-U)

Вы не используете макросы в определениях хостов и служб. Вы бы поставили $HOSTADDRESS$ макрос в определении команды, если вы хотите его использовать.

В $HOSTADDRESS$ макрос уже доступен для выполняемой команды вместе с десятками других макросов, потому что Nagios знает, с каким хостом / службой связана команда.

В вашем случае вы, вероятно, захотите что-то такое, где вы передаете ключ аутентификации как ARG1:

define command {
    command_name    check_custom_status
    command_line    $USER1$/check_custom_status.pl -U http://$HOSTADDRESS$/StatusCheck?auth=$ARG1$
}

Увидеть Макросы и как они работают и Список доступных макросов docs, чтобы понять, как все это работает.