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

Локальная переменная в конфигурации nagios

Можно ли иметь локальные переменные в файлах конфигурации Nagios?

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

У меня есть много ОЧЕНЬ разных сервисов, которые мне нужно отслеживать. Они могут меняться независимо друг от друга или могут оставаться такими же. Я знаю, что могу использовать группы хостов и добавлять свои службы для мониторинга данной группы хостов, а затем добавлять хосты в эту группу и удалять их по мере необходимости.

Но, честно говоря, я просто хотел определить те 5-6 сервисов, которые мне нужно отслеживать, рядом с моим определением хоста в папке серверов. Это отлично работает, но мне приходится выполнять эту громоздкую работу каждый раз, когда я копирую файл для мониторинга нового хоста, и мне нужно ввести IP-адрес и полностью переопределить имя хоста (помимо внесения изменений там, где это необходимо).

Разве я не могу каким-то образом определить имя хоста в верхней части файла конфигурации и каскадировать его для всех определений службы в том же файле конфигурации? Это действительно помогло бы мне.

Вы можете создать шаблон, а затем заставить хосты использовать этот шаблон. Пример из документации nagios:

define host{
    host_name       bighost1
    check_command       check-host-alive
    notification_options    d,u,r
    max_check_attempts  5
    name            hosttemplate1
    }
define host{
    host_name       bighost2
    max_check_attempts  3
    use         hosttemplate1
    }

Когда вы запрашиваете переменные для каждого файла. Это не сработает. В Nagios нет концепции отдельных файлов конфигурации. Просто забирает все предметы. Итак, если вы определите макрос вроде $MYIPMACRO:192.168.0.1$ этот макрос верен для ВСЕХ объектов, всей вашей конфигурации nagios. Я думаю, что icinga2 может делать то, чего вы хотите, и совместим с плагинами nagios check.