Чтобы следить за доступностью (аптаймом) сайта, нужно принять четыре решения: за каким адресом наблюдать, как часто, кого оповещать и что считать сбоем. В этом руководстве они разобраны по порядку, и показано, как каждое выглядит в UptimeWire. Логика подходит для любого инструмента мониторинга, так что по ней можно оценивать и другие.

Если вы хотите сначала познакомиться с основами, прочитайте Полное руководство по мониторингу доступности сайта.

Что обнаруживает мониторинг доступности

Монитор доступности по расписанию запрашивает ваш адрес и проверяет ответ. Он замечает:

  • сервер, который не работает или не отвечает;
  • сервер, который отвечает ошибкой, например 500 или 503;
  • домен, который больше не разрешается;
  • перенаправление, которое зацикливается или никогда не завершается;
  • соединение, при котором превышено время ожидания.

Он не замечает проблемы, при которых ответ выглядит нормально, например сломанное оформление заказа за обычной страницей. Дальше в руководстве показано, как сократить этот пробел.

Выберите точный адрес для мониторинга

Возьмите адрес, которым на самом деле пользуется посетитель, записанный полностью, включая https://.

  • Используйте конечный адрес. Если http://example.com перенаправляет на https://www.example.com, следите за вторым. Монитор следует за перенаправлениями, но важен именно конечный адрес, и так вы экономите один шаг.
  • Один адрес — одна страница. Мониторинг https://example.com/ не охватывает https://shop.example.com/ или https://example.com/api/. В UptimeWire один сайт — это один точный адрес. Добавляйте каждый важный адрес отдельно.
  • Предпочитайте страницу, которая что-то доказывает. Статичная главная страница может загружаться, когда приложение за ней сломано. Если у вас есть лёгкая служебная страница, которая обращается к базе данных, следите и за ней.
  • Избегайте адресов, требующих входа. Монитор не умеет входить в систему. Страница, которая отвечает посторонним 401 или 403, сообщается как сбой.

Tip

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

Разберитесь с кодами ответа HTTP

При каждой проверке монитор читает код ответа. Подробно их объясняет статья Коды ответа HTTP. Краткая версия для мониторинга:

Конечный ответ Как засчитывается
от 200 до 299 Доступен
от 300 до 399 Доступен (конечное перенаправление, по которому не переходили)
от 400 до 499, включая 401 и 403 Сбой
от 500 до 599 Сбой
Нет ответа или превышено время ожидания Сбой
Слишком много перенаправлений Сбой

UptimeWire следует за перенаправлениями, но не более пяти раз, затем оценивает конечный ответ. Код от 200 до 399 означает, что сайт доступен. Всё остальное — сбой.

Important

Ответ 200 означает, что сервер ответил. Он не означает, что страница правильная. Сайт может вернуть 200 с сообщением об ошибке в теле или с пустой страницей. Для этого и нужно правило по тексту страницы, описанное ниже.

Выберите интервал проверки

Интервал — это промежуток между проверками. Сбой можно поймать только проверкой, которая выполняется, пока сайт недоступен, поэтому чем короче интервал, тем раньше находятся проблемы.

UptimeWire предлагает такие интервалы: 1 минута, 3 минуты, 5 минут, 15 минут, 30 минут, 1 час, 6 часов, 12 часов и 1 день. Самый короткий из доступных определяет ваш тариф:

Тариф Самый короткий интервал
Free 5 минут
Starter 3 минуты
Business 1 минута
Agency 1 минута

Интервалы короче, чем позволяет ваш тариф, показываются в форме заблокированными, с указанием тарифа, который их открывает.

Как выбрать:

  • Магазин, бронирование или платная услуга: самый короткий интервал, который позволяет тариф.
  • Сайт компании или документация: вполне хватит 5 минут.
  • Сайт, про который достаточно знать, что он не пропал на несколько дней: от 30 минут до часа.

Интервал — это не то же самое, что время обнаружения. Неудачная проверка повторяется, прежде чем стать инцидентом, как объясняется ниже.

Настройте мониторинг в UptimeWire

Эти шаги соответствуют текущей версии продукта. Экраны могут меняться, поэтому считайте названия ориентиром.

  1. Создайте аккаунт на app.uptimewire.com.
  2. Подтвердите адрес электронной почты. Пока адрес не подтверждён, добавить сайт нельзя. После этого мониторинг запускается.
  3. Запустите первый сайт. В кратком мастере настройки три вопроса, по одному на экран, и итоговая сводка того, что будет сделано.
    1. Website. Адрес, за которым нужно следить, и название.
    2. Checks. Интервал, за сколько дней до окончания срока предупреждать о сертификате и о домене, и необязательное правило по тексту страницы.
    3. Alerts. Адрес электронной почты, на который приходят оповещения по этому сайту.
  4. Нажмите «Start monitoring». Можно также нажать «Start now», тогда будут использованы настройки, уже стоящие на странице, или пропустить мастер и добавить сайт позже. Настройки потом можно изменить.
  5. Дождитесь первой проверки. Откроется экран, который покажет первый результат, когда он придёт: выполняется, доступен, не удалось открыть или отвечает дольше ожидаемого.

Для каждого добавленного сайта также включаются проверки сертификата, срока действия домена и DNS. Они выполняются по собственному расписанию, независимо от выбранного вами интервала.

Настройте почту для оповещений

Адрес для оповещений привязан к сайту. Туда приходят сообщения о недоступности и восстановлении, а также предупреждения о сертификате, домене и DNS.

Укажите адрес, который кто-то читает. Общий ящик, который никто не открывает, даёт мониторинг, на который никто не реагирует. Для команды используйте групповой адрес, чтобы оповещение не зависело от одного человека.

Добавьте другие каналы оповещений

По умолчанию используется почта. Другие каналы необязательны и настраиваются один раз для всего аккаунта в настройках уведомлений профиля. После этого они действуют для каждого сайта.

Какие каналы доступны, зависит от тарифа. Актуальный список см. на странице Тарифы.

Не каждый канал передаёт каждое сообщение:

Сообщение Почта Telegram Вебхук, Slack, Discord, Teams
Недоступность и восстановление Да Да Да, если канал входит в ваш тариф
Предупреждения о сертификате, домене и DNS Да Да Нет

Note

Предупреждения о сертификате, домене и DNS передают только почта и Telegram. Если вы полагаетесь на чат для оповещений о недоступности, оставьте включённой и почту, иначе вы не узнаете об истекающем сертификате.

Как подтверждается инцидент

Когда проверка не проходит, UptimeWire оповещает не сразу. Он повторяет проверку через короткое время и открывает инцидент, только если сбои продолжаются. Если доступна вторая точка проверки, её тоже могут спросить, видит ли она тот же сбой.

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

Платить приходится временем. Оповещение приходит спустя интервал, повторные проверки и доставку сообщения. Ни один монитор не может пообещать точное время обнаружения, а руководство, которое это обещает, обманывает читателя.

Добавьте правило по тексту страницы, когда 200 недостаточно

Если ваш сайт может ответить 200 с неправильным содержимым, добавьте к проверке правило по тексту страницы. На шаге «Checks» можно выбрать, считать ли сбоем отсутствие заданного текста на странице или его появление.

Например, текст, который всегда есть на вашей странице, скажем фраза в подвале, подтверждает, что загрузилась настоящая страница. А текст вроде «Error establishing a database connection» говорит, что показывается страница с ошибкой.

Что нужно знать:

  • Текст должен совпадать точно так, как он выглядит в исходном коде страницы, включая заглавные буквы.
  • Читается только первый мегабайт конечной страницы.
  • Отсутствие текста считается таким же сбоем, как любой другой: его повторяют и подтверждают, прежде чем вас оповестят.
  • Перед сохранением нажмите кнопку «Test this text», чтобы убедиться, что правило работает так, как вы ожидаете.

Изучите первые результаты

После первой проверки посмотрите на три вещи:

  1. Статус. Доступен ли сайт? Если написано, что адрес не удалось открыть, сравните адрес с тем, что вы вводите в браузере.
  2. Время ответа. Запомните число. Это ваша точка отсчёта, и позднейшие изменения понятны только на её фоне. О том, что входит в эту цифру, см. статью время ответа.
  3. Состояние сертификата, домена и DNS. Эти проверки идут по своему расписанию, поэтому результат может появиться чуть позже первой проверки.

Если первая проверка не прошла, а в вашем браузере сайт работает, обычные причины — опечатка в адресе, страница, требующая входа, файрвол, блокирующий автоматические запросы, или зацикленное перенаправление.

Читайте историю мониторинга

За несколько дней история показывает закономерности, которые одна проверка заметить не может:

  • Единичные сбои в одно и то же время суток указывают на что-то запланированное: резервное копирование, выкладку, тяжёлую задачу.
  • Медленно растущее время ответа указывает на разрастающуюся базу данных, утечку в процессе или слишком маленький тариф.
  • Долгие инциденты показывают, где медленно идёт ваше восстановление, а не только обнаружение.
  • Отсутствие инцидентов неделями — хороший результат. Это также повод один раз проверить, что оповещения всё ещё приходят.

Доступность — это доля периода, в течение которой сайт был доступен. Используйте её как тенденцию для себя, а не как обещание клиентам.

Проверьте уведомления

Не ждите настоящего простоя, чтобы узнать, что оповещение попадает в спам или не тому человеку.

  1. Добавьте тестовый сайт с несуществующим адресом или используйте правило по тексту страницы, которое заведомо не сработает.
  2. Дождитесь, когда откроется инцидент.
  3. Проверьте, что письмо пришло и что другие включённые каналы тоже доставляют сообщения.
  4. Проверьте сообщение о восстановлении после того, как исправите тест.
  5. Удалите тестовый сайт.

Загляните в папки со спамом и в фильтры. Если оповещение получает команда, проверьте, что его получает каждый человек.

Частые ошибки при мониторинге

  • Мониторинг только главной страницы. Оформление заказа, вход и API могут сломаться, пока с главной страницей всё в порядке.
  • Неверный адрес. Мониторинг адреса, который перенаправляет, требует входа или кешируется CDN, может скрыть настоящие проблемы.
  • Непрочитанный ящик с оповещениями. Мониторинг, который никто не читает, — не мониторинг.
  • Слишком большое доверие к 200. Добавьте правило по тексту или следите за более глубоким адресом.
  • Предположение, что один адрес покрывает весь домен. Он не покрывает ни поддомены, ни другие пути.
  • Настроили один раз и больше не проверяли. Время от времени проверяйте путь оповещения.
  • Опора только на чат. Предупреждения о сертификате приходят лишь по почте и в Telegram.

Чек-лист настройки

  • Точный адрес с https:// загружается без входа.
  • Интервал соответствует цене простоя и разрешён вашим тарифом.
  • Почту для оповещений читает человек.
  • Дополнительные каналы подключены в профиле, если они вам нужны.
  • Правило по тексту страницы задано там, где одного 200 недостаточно.
  • Тестовое оповещение и сообщение о восстановлении пришли.
  • Каждый важный адрес добавлен как отдельный сайт.
  • Предупреждения о сертификате, домене и DNS заданы с нужным запасом по времени.

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