Проверка ключевых слов

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

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

CDN может закэшировать ошибку

Если origin-сервер временно вернул страницу с ошибкой, CDN сохранит её в кэше и будет раздавать всем пользователям

Defacement-атаки

Хакеры заменяют контент страницы на своё сообщение, но сервер продолжает отвечать 200 OK

Проверка работы приложения

Веб-сервер может работать исправно, но приложение за ним упало — страница показывает "Application Error"

Как это работает

При включении проверки ключевых слов StatusCheck выполняет полный GET запрос (не HEAD), получает тело ответа и ищет в нём указанную строку. Результат поиска сравнивается с ожиданием, и на основе этого принимается решение об успешности проверки.

HTTP GET запрос Body извлечение Keyword поиск строки Match? сравнение Alert при несовпадении

Требуется GET метод. Метод HEAD возвращает только заголовки ответа без тела, поэтому для проверки ключевых слов система всегда выполняет отдельный GET-запрос, независимо от выбранного метода монитора.

Опция учёта регистра

По умолчанию поиск регистронезависимый: "Welcome" найдёт "welcome", "WELCOME", "WeLcOmE". Если вам нужен точный поиск, включите опцию Case-sensitive. Это полезно, например, для поиска JSON-ключей в определённом регистре.

Настройка в StatusCheck

Проверка ключевых слов настраивается как дополнительная опция HTTP монитора. При создании или редактировании монитора включите чекбокс и укажите параметры поиска.

Проверка ключевых слов Проверять текст в ответе Ключевое слово Welcome to Example Условие Должно присутствовать Учитывать регистр
Форма настройки проверки ключевых слов в HTTP мониторе

Описание полей

Проверять текст в ответе (check_keyword) включает или выключает проверку. Для поиска ключевого слова система всегда выполняет отдельный GET-запрос.

Ключевое слово (keyword_value) задаёт текст для поиска в теле ответа. Максимальная длина: 500 символов. Поддерживаются кириллица, латиница, цифры, спецсимволы, пробелы.

Условие (keyword_exists) определяет логику проверки:

  • Должно присутствовать (true) — проверка успешна, если текст найден
  • Не должно присутствовать (false) — проверка успешна, если текст НЕ найден

Учитывать регистр (keyword_case_sensitive) включает точное сравнение с учётом регистра букв. По умолчанию выключено.

Параметры

Сводная таблица параметров проверки ключевых слов с допустимыми значениями.

Параметр Тип Описание По умолчанию
check_keyword boolean Включить проверку ключевого слова false
keyword_value string Текст для поиска (1-500 символов)
keyword_exists boolean true = должен присутствовать, false = не должен true
keyword_case_sensitive boolean Учитывать регистр при поиске false

Пример конфигурации API

{
  "monitor_type": "http",
  "url": "https://example.com",
  "http_method": "GET",
  "interval_seconds": 60,
  "check_keyword": true,
  "keyword_value": "Welcome to Example",
  "keyword_exists": true,
  "keyword_case_sensitive": false
}

Примеры использования

Проверка наличия copyright

Убедитесь, что на странице присутствует notice о копирайте. Если он исчез, возможно, хостинг показывает заглушку или произошёл взлом.

{
  "keyword_value": "Copyright 2026 Example Corp",
  "keyword_exists": true
}

Обнаружение ошибки 500

Настройте проверку на отсутствие текста ошибки. Если такой текст появится на странице с кодом 200, вы получите уведомление.

{
  "keyword_value": "500 Internal Server Error",
  "keyword_exists": false
}

Проверка JSON API

Для API endpoints можно проверить наличие ключа или значения в JSON-ответе.

{
  "url": "https://api.example.com/health",
  "keyword_value": "\"status\":\"ok\"",
  "keyword_exists": true,
  "keyword_case_sensitive": true
}

Используйте кавычки в keyword для точного поиска JSON-ключей. Включите case-sensitive, так как JSON чувствителен к регистру.

Хранение данных и уведомления

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

Типы инцидентов

  • Ключевое слово не найдено — ожидаемый текст не найден в ответе (режим «должно присутствовать»)
  • Ключевое слово обнаружено — нежелательный текст обнаружен в ответе (режим «не должно присутствовать»)

Уведомления

При провале проверки вы получите уведомления через все настроенные каналы:

Telegram

Мгновенно, 5-30 секунд

Email

В течение 60 секунд

Webhook

В течение 30 секунд

Автозакрытие инцидента

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