В моей компании есть два дублирующих сервера MX, я хотел бы сказать nagios, чтобы он будил меня ТОЛЬКО ночью, если оба сервера не работают.
Поведение по умолчанию - предупреждение, когда один из серверов MX не работает. Я хотел бы установить период времени, то есть с 23:00 до 06:00, когда nagios предупреждает меня только по sms, если оба сервера не работают.
Я использую nagios3, но в документации не нашел ничего подобного.
Решение:
Я использовал эту команду check_command в службе под названием MXservice:
check_command check_service_cluster!"MXservice"!2!1!$SERVICESTATEID:mx1:SMTP$,$SERVICESTATEID:mx1:SMTP$
Спасибо за вашу помощь
У Nagios раньше был check_cluster
плагин, который, например, будет предупреждать, только если все серверы в данном кластере не работают. Я никогда не использовал его, но довольно много людей использовали в списках рассылки.
Я считаю, что он все еще в версии 3.0 - взгляните на эта страница.
У Nagios есть файлы конфигурации зависимостей хоста и сервиса. Я связал документацию ниже. Вы можете связать проверки, и каждый будет предупреждать, только если другой не работает.
В дополнение к сказанному. Ты можешь использовать периоды времени чтобы nagios изменял свое поведение в предупреждениях и эскалациях событий в зависимости от периода времени. Эта ссылка объясняет, как периоды времени работают с контактами, эскалациями и зависимостями.
Используя это в сочетании с проверкой, которую упомянул Энди, вы можете запустить обычную проверку службы / хоста в рабочее время, чтобы отправлять вам предупреждения о любых сбоях любого сервера в рабочие часы. Затем в нерабочее время он может переключиться на использование проверки кластера и предупреждать вас только тогда, когда все серверы MX не работают.
РЕДАКТИРОВАТЬ: после перечитывания вашего вопроса, похоже, это то, что вы собираетесь делать.
А как насчет сквозной проверки? У меня есть две проверки: одна проверяет, может ли мой почтовый сервер отправлять сообщения в Gmail, а другая - получать. Проверяет всякие вкусности, которые надо пересечь в один прием.