Можно ли иметь локальные переменные в файлах конфигурации 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.