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