Я использую довольно большую конфигурацию nagios (около 4000 сервисов), без каких-либо зависимостей. Это приводит к огромному количеству уведомлений, когда что-то идет не так.
Я пытаюсь найти лучшие практики с зависимостями Nagios, но все, что я нахожу в Интернете, - это базовое понимание с помощью одного примера. Что мне нужно, так это более подробная информация, лучшие практики по управлению таким конфигурационным файлом.
Пример: в кластере из 100 серверов с apache, прослушивающим каждый, я отслеживаю количество процессов apache и прослушивающий tcp-порт 80. Я хочу, чтобы один зависел от другого, но independent_hostgroup_name не поможет, поскольку приводит к тому, что все службы "процесса проверки" зависят от каждой службы "check_http".
Вопросы: как вы управляете своими зависимостями? Вы используете скрипты для их создания?
Согласились, что без скриптов обойтись довольно сложно.
Для каждой команды проверки службы я определил (в таблице db), от чего она обычно зависит, что избавляет меня от необходимости вручную настраивать каждую зависимость службы. Зависимости хоста я делаю вручную, но обнаружение MAC-адресов на коммутаторах через скрипт - это то, что поможет автоматизировать это.
Примеры:
«check_http_content» будет зависеть от «check_http», который будет зависеть от «check_ping».
"check_cisco_ifstate" будет зависеть от "check_snmp_ok", который будет зависеть от "check_ping"
Если вы создаете свою конфигурацию из базы данных с помощью сценария, это не так уж сложно реализовать. В противном случае вы захотите написать парсер, который будет просматривать ваш файл конфигурации и вставлять зависимости на основе правил.
Я не могу представить себе значительную реализацию nagios без базы данных конфигурации, из которой вы строите свои конфигурации, она позволяет вам добавлять свои собственные абстракции, когда nagios их не хватает, и упрощает жизнь во многих других отношениях.