Перейти к основному содержимому

Руководства / Понятия мониторинга простыми словами

Стратегии перепроверки: подтверждение статуса перед оповещением

Перепроверка - это второе мнение, которое система мониторинга запрашивает перед тем, как поверить смене статуса: повторяет провалившуюся или только что успешную проверку из других локаций, чтобы одна неудачная точка обзора не могла в одиночку открыть инцидент. HostTracker проверяет сайт по расписанию, заданному в настройках мониторинга, и только что обнаруженный статус UP или DOWN считается кандидатом, пока перепроверка его не подтвердит.

Почему одна провалившаяся проверка - еще не сбой

Результат проверки описывает один запрос, из одного места, в один момент. Любой из этих трех факторов может ошибаться насчет сайта в целом. Сеть между одной конкретной точкой проверки и вашим сервером может быть сломана, пока любой другой маршрут в порядке. DNS-запись может еще распространяться в одном регионе и уже быть верной в соседнем. Собственное окружение точки проверки может быть несовместимо с чем-то, что делает ваш сервер.

Если бы система мониторинга действовала по первому же результату, она вызывала бы вас по любому из этих случаев, а заодно портила бы вашу статистику аптайма, поскольку зафиксированный сбой для ваших пользователей на самом деле никогда не происходил. Поэтому обнаруженный статус, UP или DOWN, держится неподтвержденным, пока не будет подтвержден, и только тогда происходит что-либо дальше: уходит оповещение, открывается эпизод, сдвигается число аптайма.

Что ловит перепроверка

Перепроверка из других локаций - это как раз то, что отделяет настоящее, общесайтовое изменение от локального артефакта. Случаи, которые она чаще всего отфильтровывает:

  • Короткий простой во время нового деплоя, когда сайт возвращается в строй еще до второй проверки
  • Недоступность DNS, пока распространяется изменение конфигурации, - одни резолверы уже отвечают верно, другие пока нет
  • Локальный блеклист сайта или адреса точки проверки, видимый только из одной сети
  • Проверяющий агент, чье окружение несовместимо с технологиями, которые использует сервер
  • Проблемы маршрутизации или пиринга на пути между одной конкретной точкой проверки и сервером

Подтверждающие проверки берутся из гео-региона, настроенного для задачи мониторинга, так что второе мнение приходит из той же части света, где находятся ваши пользователи, а не откуда попало.

Три стратегии перепроверки

HostTracker поддерживает три способа решить, реален ли новый статус.

1. Голосование большинством. Когда проверка возвращает новый статус, система выделяет до 7 новых локаций из гео-региона задачи мониторинга, чтобы его подтвердить. Полученные результаты группируются по статусу, и побеждает более крупная группа. Допустим, проверка из Майами сообщает DOWN, а перепроверки из Нью-Йорка, Бостона и Чикаго возвращаются UP, DOWN, UP. DOWN не подтвержден и отбрасывается, а Майами штрафуется: его больше не будут использовать для проверок этого сайта. Прогоните тот же пример в обратную сторону, когда Майами сообщает UP после DOWN, а Нью-Йорк и Чикаго подтверждают UP, - переход DOWN-UP регистрируется.

2. Заданное число локаций, подтверждающих DOWN. Здесь вы настраиваете минимальное число перепроверок, нужных для подтверждения DOWN, тогда как для UP по-прежнему требуется голосование большинством. При этом числе, установленном в 1, в том же примере достаточно, чтобы только Бостон вернул DOWN, чтобы подтвердить DOWN Майами, даже если Нью-Йорк и Чикаго не согласились.

3. Без перепроверки. Новый статус всегда подтверждается сразу же, как только обнаружен. Это предполагает полное доверие и к серверу, и к окружениям локаций мониторинга. Подходит для нескольких специфических задач мониторинга, и выбирать этот вариант стоит осторожно, потому что любая кратковременная сетевая проблема в одной точке проверки превращается в ложное оповещение и вмятину на показателе аптайма.

Как выбрать стратегию

  1. Начните с голосования большинством. Это сбалансированный вариант по умолчанию: он стоит нескольких секунд дополнительного времени на подтверждение и убирает почти весь шум от одной точки проверки.
  2. Понижайте порог подтверждения DOWN, когда быстрое оповещение стоит больше, чем спокойный почтовый ящик. Региональный сбой, который видят только две локации, все равно до вас дойдет - ценой большего числа ложных срабатываний.
  3. Держите голосование большинством для переходов в UP, как бы вы ни настроили DOWN. Преждевременный UP закрывает еще идущий инцидент и прячет хвост сбоя из вашей статистики.
  4. Резервируйте вариант без перепроверки для целей, которые вы контролируете от начала до конца, где вы предпочтете разобраться с ложным оповещением, а не ждать подтверждения.

Какую бы стратегию вы ни выбрали, вы можете сами воспроизвести расхождение из двух разных сетей и сравнить, что видит каждая из них:

curl -sS -o /dev/null -w '%{http_code} %{time_total}s\n' https://example.com/

503 из одной сети и 200 из другой - это тот самый паттерн, для решения которого и придумана перепроверка. Если провалившийся статус - это 5xx, а не таймаут, значит сервер ответил, а это уже другая проблема: см. 503 Service Unavailable.

Что дает подтверждение

Именно перепроверки позволяют системе мониторинга часто проверять из множества мест, не превращая эту чувствительность в шум. HostTracker проверяет из 300+ точек в 158 городах, так что независимые локации для второго мнения всегда под рукой, и оповещение по email, SMS, голосовым звонком, в Slack, Telegram и другими способами запускает только подтвержденный переход. Стратегии выше - не исчерпывающий список; поддержка может рассмотреть новую для будущего релиза, если у вашего мониторинга есть потребность, которую ни одна из них не покрывает. О том, как используется сеть точек проверки, смотрите распределенный мониторинг доступности, а соседние термины - в остальном разделе о понятиях мониторинга.

Проверить сейчас

Запустите бесплатную проверку своего сайта - аккаунт не нужен.

Distributed availability monitoring

Следить за этим постоянно

Получайте оповещение в момент сбоя: HostTracker проверяет более чем из 300 локаций и уведомляет по email, SMS, в Slack, Telegram и не только.

Возможности HostTracker

Ещё в этом разделе: Понятия мониторинга простыми словами