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

Руководства / Руководства по мониторингу: каждый тип проверки шаг за шагом

Как мониторить сайт HTTP-проверкой

HTTP-проверка запрашивает URL из ваших локаций мониторинга так же, как это делает браузер, а затем оценивает ответ: ответил ли сервер, насколько быстро, и выглядят ли статус и содержимое верно. Это самый используемый тип проверки HostTracker - используйте его для любого сайта или страницы, которую нужно считать доступной или нет на основе реальной загрузки страницы. Выбирайте вместо этого проверку API, чтобы разбирать и проверять структурированные JSON или XML.

Основные настройки

Панель основных настроек HTTP-проверки: переключатель мониторинга включен, ползунок интервала, ползунок таймаута, поле тегов, переключатели полного лога и открытой статистики, и четыре карточки прикрепленных мониторов для DNSBL, истечения домена, истечения сертификата и Web Risk
  • Monitoring enabled - главный переключатель вкл/выкл. Приостановленная задача сохраняет настройки, но перестает проверять и оповещать.
  • Interval schedule / Cron schedule - простой ползунок интервала ниже, либо конструктор cron (каждые N минут/часов, ежедневно, еженедельно, ежемесячно, либо произвольное выражение из 5 полей) для расписаний, которые интервал выразить не может. Для cron нужен платный тариф.
  • Interval - как часто выполняется проверка, от 1 минуты до 24 часов; перетащите ползунок либо выберите значение из выпадающего списка. Самый короткий доступный интервал зависит от вашего тарифа.
  • Timeout - сколько ждать ответа, прежде чем провалить проверку, от 1 до 100 секунд (40 с - частое значение по умолчанию). Время разрешения DNS не учитывается.
  • Tags - метки через запятую для группировки и фильтрации мониторов на панели управления.
  • Full Log - сохраняет каждый результат проверки вместо группировки подряд идущих одинаковых.
  • Open Stats - публикует статистику и лог проверок этой задачи по публичной ссылке.
  • Attached monitors - четыре дополнительные проверки, прикрепленные к этой задаче вместо отдельных: DNSBL (блеклист домена), Domain Expiration/Certificate Expiration (напоминания за 30/7/1 день), Web Risk (списки вредоносного ПО/фишинга Google). Все работают раз в 12 часов; напоминания следуют подпискам на Up ниже, плохой результат - подпискам Down/Repeat. У каждой свое руководство - см. раздел "Связанные материалы".

Настройка запроса

Панель настройки запроса: выпадающий список HTTP-метода со значением GET, селектор поведения редиректа со значением «Следовать редиректам» и ползунком максимума редиректов на 20, пустая таблица HTTP-заголовков, переключатель аутентификации запроса, выпадающий список выбора DNS-сервера и переключатель отключения кэша DNS
  • HTTP Method - GET, HEAD, POST, PUT, DELETE, PATCH или OPTIONS. GET (по умолчанию) скачивает страницу и нужен для проверок по ключевым словам содержимого; HEAD получает только заголовки, самая быстрая проверка доступности; POST/PUT/PATCH также отправляют тело.
  • Request body (только для POST/PUT/PATCH) - режим Plain text отправляет ровно то, что вы ввели (добавьте собственный заголовок Content-Type); режим Key-value строит тело из строк имя/значение как form-urlencoded или JSON и устанавливает Content-Type автоматически.
  • Redirect behavior - Immediate response оценивает первый ответ как есть; Follow redirects (по умолчанию) проходит всю цепочку, с ползунком Max redirects to follow (1-20); Redirect is error проваливает проверку при любом редиректе (недоступно в режиме ассертов).
  • HTTP Headers - произвольные пары имя/значение. Если оставить пустым, проба отправляет заголовки по умолчанию (User-Agent, Accept, Accept-Language, Referer). Добавьте сюда заголовок Authorization для аутентификации по токену/API-ключу.
  • Request authentication - открывает поля имени пользователя/пароля для собственной аутентификации-вызова сервера по HTTP (Basic, Digest, NTLM, Kerberos, Negotiate). Для упреждающей аутентификации по токену используйте вместо этого заголовок Authorization.
  • DNS Server Selection - DNS-серверы по умолчанию в локациях; Публичные DNS-серверы страны локации; либо DNS-серверы, заданные вручную (ваши собственные IP резолверов). Два последних варианта требуют платный тариф.
  • Disable DNS cache - принудительно выполняет свежий DNS-запрос при каждой проверке вместо переиспользования кэша агента; полезно сразу после изменения DNS.

Проверка ответа

Панель проверки ответа с включенным режимом ассертов: показаны два правила (status in 100..399, помечено завершенным, и пустое второе правило, помеченное незавершенным), за которыми следуют кнопки пресетов HTTP Policies и список переключателей, и серые переключатели TLS Handshake за баннером апгрейда

По умолчанию проверка проходит успешно, когда DNS разрешается, TCP-соединение и TLS-рукопожатие (для https) завершаются, и сервер возвращает статус HTTP Ok - любой код ниже 400.

  • Assertion mode - заменяет классические поля ниже редактором правил для кодов состояния, времени отклика, заголовков или содержимого тела. На скриншоте он включен с двумя правилами: status in [100..399] (завершено) и пустое второе правило, помеченное unfinished - незавершенное правило не участвует в вердикте, пока вы его не закончите или не удалите. HTTP и API - единственные два типа проверок с работающим редактором ассертов; полный язык правил смотрите в подробном разборе режима ассертов.
  • Ignore HTTP Errors (классический режим) - коды, которые НЕ должны проваливать проверку, например 401, 403, 500; пусто означает, что ошибкой считается любой код 400+.
  • Error on these HTTP statuses - обратное: коды, которые должны проваливать проверку, даже если обычно этого не делают.
  • Content check keywords - ключевые слова через запятую для поиска на странице (нужен GET).
  • Successful content check condition - как ключевые слова определяют вердикт: ANY present (по умолчанию), ALL present, ANY absent, ALL absent, либо ALL absent (fail shows location).
  • HTTP Policies - опциональные проверки заголовков/cookie/содержимого; нарушение завершает проверку как Down, как и любой другой сбой. Пресеты Baseline, Strict и API заменяют весь выбор целиком; запустите политики как отдельную задачу, если хотите более мягкий сигнал, который никогда не затронет собственную статистику аптайма этой задачи.
ПереключательЧто проверяет
Enforce HTTPSURL должен загружаться по https.
HSTS headerПрисутствует Strict-Transport-Security с минимальным max-age; подопции добавляют includeSubDomains и готовность к preload.
No https to http downgradeСтраница https не должна редиректить обратно на http.
Content-Security-PolicyСуществует заголовок CSP и избегает распространенных небезопасных источников скриптов; один только Report-Only не засчитывается.
Clickjacking protectionСтраницу нельзя поместить во фрейм другого сайта.
X-Content-Type-Options: nosniffПрисутствует заголовок, блокирующий MIME-сниффинг.
Referrer-PolicyПрисутствует и не равен unsafe-url, так что полные URL не утекают на связанные сайты.
Permissions-PolicyОграничивает мощные функции браузера (камера, микрофон, геолокация).
No version disclosureОтвет не должен раскрывать информацию о версии сервера/фреймворка.
Cache-Control assertionsПроизвольные проверки Cache-Control, например требование no-store на страницах с личными данными.
CORS response headersОтмечает статический wildcard Access-Control-Allow-Origin, особенно вместе с credentials.
Cookie securityCookie собственного хоста должны нести Secure/HttpOnly/SameSite как настроено; конкретные имена можно исключить.
Mixed contentОтмечает подресурсы http://, загружаемые на странице https.
  • TLS Handshake - четыре переключателя строгости (платный тариф): Require valid SSL certificate chain, Require strong TLS protocol (1.2+), Block weak ciphers (128-bit or lower), и Check SSL certificate revocation (онлайн-запрос CRL/OCSP).
  • Expected IPs validation - при каждой проверке подтверждает, что DNS разрешает ваш хост в один из указанных вами IP; ловит перехват, неверную конфигурацию или истекшую запись, даже если какой-то сервер по-прежнему отвечает.
  • Max response size - прекращает чтение тела после этого размера; проверки содержимого, ассерты и политики тогда оценивают только скачанную часть. По умолчанию 1 МБ, максимум 10 МБ; 0 означает, что тело не читается вовсе.

Подписки на оповещения

Панель подписок на оповещения: включенный переключатель «Подписать все контакты на события Up/Down», поле поиска контактов и один email-контакт с активными переключателями Down, Up и Repeat

Общая для любого типа проверки. Down = сайт лег, Up = он восстановился, Repeat = напоминания, пока он остается недоступен. Подписать все контакты на события Up/Down - ярлык; таблица дает управление по каждому контакту отдельно либо через переиспользуемые пресеты групп контактов. Задача без подписок на оповещения все равно выполняется и записывает результаты - просто никого никогда не уведомляет.

Подписки на отчеты

Панель подписок на отчеты: включенный переключатель «Подписать все контакты на еженедельные/ежемесячные отчеты», и один email-контакт с активными переключателями Weekly и Monthly и доступным Daily

Периодические отчеты об аптайме, только по email. Выберите Daily, Weekly или Monthly для каждого контакта; Monthly также включает сводки Quarterly и Yearly. Переключатель подписки всех работает так же, как в разделе подписок на оповещения.

Локации мониторинга

Панель локаций мониторинга: дерево локаций с поиском, в котором выбраны All world, North America, Russia и West Europe с числом их агентов, плюс выпадающие списки стратегии перепроверки и резерва для недоступных локаций под ним
  • Выбор локации - ищите или просматривайте дерево регионов/стран и отмечайте локации, из которых проверять; в каждой строке показано число доступных агентов против выбранных. «Copy locations from another task» переиспользует набор существующей задачи.
  • Стратегия перепроверки - при смене состояния (например, с Up на Down) несколько локаций перепроверяют его, прежде чем новое состояние будет принято, страхуя от ложного срабатывания из одной локации. Варианты: по умолчанию голосование большинством; заданное число локаций, подтверждающих Down (добавляет ползунок 1-7); без перепроверки; полное согласие всех локаций перепроверки; либо полное согласие для Down, большинство для Up.
  • Если выбранные локации недоступны - Только выбранные локации (по умолчанию) ждет, вместо того чтобы рисковать ложным оповещением; Ближайшие локации использует ближайшую доступную локацию; Любая локация переключается на любую доступную по всему миру.

Разобранный пример

Мониторинг маркетинговой главной страницы: HTTP-проверка, интервал 5 минут, таймаут 40 с, GET, Follow redirects (максимум 20). Ключевое слово Content check - Contact us с "ANY keyword must be present", чтобы поймать сломанный деплой, отдающий страницу ошибки. HTTP Policies установлены на Baseline. Локации оставлены на All world со стратегией перепроверки по умолчанию. Email дежурной команды подписан на Down, Up и Repeat, а также на еженедельные отчеты.

Диагностика

  • Показывает Down, но у вас загружается нормально - сеть одной локации может дать сбой; именно это и отфильтровывает стратегия перепроверки голосованием большинством по умолчанию. Все еще мечется? Проверьте DNS Server Selection и убедитесь, что таймаут подходит обычной задержке этой локации.
  • Проверка по ключевому слову содержимого переключается Up/Down - содержимое может меняться из-за кэша, персонализации или A/B-тестирования. Выберите ключевое слово, присутствующее при каждой реальной загрузке, и убедитесь, что Successful content check condition соответствует тому, что вы имели в виду.
  • Ушло в Down сразу после включения HTTP Policies (особенно Strict) - Strict ожидает заголовки, которые многие сайты еще не настроили. Исправьте заголовки, понизьте до Baseline, либо сначала прогоните политики отдельной задачей.
  • Проверка содержимого или ассерт перестает совпадать на большой странице - Max response size обрезает тело, так что ничего после точки обрезки не читается. Поднимите значение.
  • Правило ассерта никогда не выполняется - правило с пустым полем, условием или значением отображается как "unfinished" и не участвует в вердикте. Завершите его либо удалите.

Связанные материалы

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

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

HTTP check

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

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

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

Ещё в этом разделе: Руководства по мониторингу: каждый тип проверки шаг за шагом