Проверки доступности (DNS Health Checks)

Что такое проверки доступности, как работают, как их настроить для ваших DNS-записей.

Можно включить только для наборов A- и AAAA-записей основной зоны. У набора должна быть выключена балансировка.

Что это

Проверки доступности — механизм, который периодически проверяет серверы, указанные в ваших A- и AAAA-записях, и временно исключает недоступные из ответа DNS.

Какую пользу несёт

Ваши пользователи будут попадать только на работающие серверы. DNS сам исключает IP «упавших» узлов из DNS-ответа и возвращает их, когда серверы восстановятся.

Как работает

  1. Система мониторинга периодически отправляет запросы к IP из ваших A- и AAAA-записей.

  2. Если IP дважды подряд не отвечает корректно на запрос, запись с этим адресом исключается из ответа DNS. Недоступность фиксируется в логах — их можно посмотреть в панели управления.

  3. Отправка запросов продолжается. Как только IP успешно проходит две проверки подряд, DNS автоматически возвращает его в ответ. Восстановление также фиксируется в логах.

Особенности:

  • При каждой проверке запросы к вашему IP отправляются одновременно из двух разных российских городов. Это снижает риск ложных срабатываний. Если наша система мониторинга получила ответ хотя бы в одной из локаций, проверка считается успешной.

  • Когда сервер не проходит проверку, его IP исключается из DNS-ответа. Но если недоступным оказывается последний адрес, он не удаляется. Это нужно, чтобы DNS не возвращал пустой ответ и всегда отдавал клиенту хотя бы один IP.

Как включить проверки для ваших записей

  1. Откройте DNS-хостинг, перейдите в Основные зоны.

    Защищённый DNS-хостинг Servicepipe
  2. Напротив нужной зоны нажмите и выберите Просмотреть записи.

    Защищённый DNS-хостинг Servicepipe
  3. Напротив нужного набора записей нажмите и выберите Просмотреть проверки доступности.

    Защищённый DNS-хостинг Servicepipe
  4. Нажмите Настройки проверки доступности.

    Защищённый DNS-хостинг Servicepipe

    Откроется окно настроек. Остальные шаги выполняйте в нём.

    Защищённый DNS-хостинг Servicepipe
  5. Выберите режим проверки. Доступны три варианта:

    • Выключена — проверки не выполняются.

    • Информирование — проверки выполняются, но DNS-ответ не меняется. Даже если сервер не прошёл проверку, DNS продолжает отдавать его IP клиентам. При этом ведутся логи недоступности: вы сможете посмотреть, успешно или нет ваши серверы проходили проверки.

    • Активная — проверки выполняются, результат меняет DNS-ответ. Если сервер недоступен, DNS перестаёт отдавать его IP клиентам. Как только сервер восстанавливается, его IP возвращается в DNS-ответ.

      Советуем сначала протестировать в режиме Информирование (чтобы убедиться, что всё корректно настроили), а после переключаться на Активная.

  6. Выберите тип проверки. Доступны три варианта:

    • ICMP — обычный ping, подходит для проверки «жив ли сервер вообще».

    • TCP — попытка установить TCP-соединение с указанным портом без передачи данных. Подходит, если нужно проверить конкретный сервис.

    • HTTP — HTTP-запрос и проверка корректности ответа. Позволяет проверить работу приложения, а не просто доступность порта.

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

  7. Настройте параметры проверки. Их набор зависит от того, какой тип вы выбрали.

    Для ICMP:

    • Таймаут, сек — сколько секунд система будет ждать ответа на ping, прежде чем считать проверку неуспешной.

    • Частота проверки — как часто отправлять проверку. Пример: каждые 30 секунд.

    Для TCP:

    • Таймаут, сек — сколько секунд система будет ждать установления TCP-соединения, прежде чем считать проверку неуспешной.

    • Частота проверки — как часто отправлять проверку. Пример: каждые 30 секунд.

    • Порт — номер порта, к которому система будет пытаться установить соединение.

    Для HTTP:

    • Таймаут, сек — сколько секунд система будет ждать ответа от сервера, прежде чем считать проверку неуспешной.

    • Частота проверки — как часто отправлять проверку. Пример: каждые 30 секунд.

    • Порт — порт, на который будет отправляться запрос.

    • HTTP-метод — метод HTTP-запроса, который будет использован.

    • TLS (HTTPS) — нужно ли использовать ли защищённое соединение.

    • Группа статус-кодов — какие коды ответа считать успешной проверкой.

    • Заголовок Host (опционально) — значение заголовка Host в запросе. Если ничего не указать, в качестве заголовка будет использовано имя записи.

    • Путь (опционально) — URL-путь, по которому будет отправлен запрос. Указывать IP и порт не нужно. Введите в поле только путь, например /api/v1/health.

  8. Нажмите Сохранить.

Поздравляем, вы настроили проверки! Система мониторинга уже отправляет первые запросы к вашим серверам.

Как читать «логи недоступности»

Как только вы включили проверки в режиме Информирование или Активная, система начинает вести логи — фиксировать, когда ваши серверы «падали» и восстанавливались.

Логи находятся там же, где настройка проверок: DNS-хостингОсновные зоны → напротив нужной зоны …​ и Просмотреть записи → напротив нужного набора записей и Просмотреть проверки доступности.

Защищённый DNS-хостинг Servicepipe

Пока проблем не зафиксировано, таблица остаётся пустой.

Защищённый DNS-хостинг Servicepipe

Когда какой-то из ваших серверов становится недоступен, система фиксирует это в логах. Время восстановления тоже записывается в лог.

Защищённый DNS-хостинг Servicepipe

В таблице отображаются:

  • Начало — время, когда зафиксирована недоступность. Отображается в часовом поясе вашего компьютера. Именно в это время запись исключается из DNS-ответа при режиме проверки Активная.

  • Завершение — время, когда зафиксировано восстановление. Отображается в часовом поясе вашего компьютера. Именно в это время запись возвращается в DNS-ответ при режиме проверки Активная. Если восстановление ещё не произошло, в столбце будет прочерк.

  • Значение записи — какой IP был недоступен

  • Режим проверки — в каком режиме велась проверка: Информирование или Активная

  • Тип проверкиICMP , TCP или HTTP

  • Причина завершения недоступности. Возможны четыре значения:

    • Восстановлена — сервер восстановился после недоступности

    • Выключена — вы изменили настройки уже работающей проверки: сменили режим на Выключена

    • Перенастроена — вы не выключали работающую проверку, но изменили у неё одну из этих настроек: режим проверки, тип проверки, частота проверки, порт, путь, TLS (HTTPS)

    • - — прочерк значит, что сервер всё ещё недоступен

Какое время мы считаем Началом/Завершением недоступности:

  • Если частота проверки — 30 секунд или 1 минута, то Начало/Завершение фиксируется спустя 15 секунд после второй подряд проверки, показавшей изменение доступности вашего IP

  • Если частота проверки больше 1 минуты, то Начало/Завершение фиксируется спустя 1 минуту после второй подряд проверки, показавшей изменение доступности вашего IP

Что важно запомнить

  • Запись убирается из DNS-ответа/возвращается в него только после двух подряд неуспешно/успешно пройденных проверок, показавших, что доступность вашего IP изменилась

  • Если все ваши серверы недоступны, один IP всё равно останется в DNS-ответе, чтобы клиенты не получали пустой ответ

  • Проверки выполняются одновременно из двух независимых локаций

  • Время в логах отображается в часовом поясе пользователя

Если возникнут вопросы о проверках, напишите нам на support@servicepipe.ru — с радостью проконсультируем и поможем всё настроить.