Проверка ключевых слов
HTTP-код 200 не гарантирует, что ваш сайт работает корректно. Сервер может вернуть успешный статус, но показать совершенно не тот контент, который вы ожидаете. Проверка ключевых слов решает эту проблему: система ищет заданный текст в теле ответа и немедленно сообщает, если он отсутствует или, наоборот, появился нежелательный текст.
Хостинг может показать заглушку при проблемах с аккаунтом, истечении срока оплаты или превышении лимитов. HTTP-код останется 200, но вместо вашего сайта пользователи увидят страницу провайдера.
CDN может закэшировать ошибку
Если origin-сервер временно вернул страницу с ошибкой, CDN сохранит её в кэше и будет раздавать всем пользователям
Defacement-атаки
Хакеры заменяют контент страницы на своё сообщение, но сервер продолжает отвечать 200 OK
Проверка работы приложения
Веб-сервер может работать исправно, но приложение за ним упало — страница показывает "Application Error"
Как это работает
При включении проверки ключевых слов StatusCheck выполняет полный GET запрос (не HEAD), получает тело ответа и ищет в нём указанную строку. Результат поиска сравнивается с ожиданием, и на основе этого принимается решение об успешности проверки.
Требуется GET метод. Метод HEAD возвращает только заголовки ответа без тела, поэтому для проверки ключевых слов система всегда выполняет отдельный GET-запрос, независимо от выбранного метода монитора.
Опция учёта регистра
По умолчанию поиск регистронезависимый: "Welcome" найдёт "welcome", "WELCOME", "WeLcOmE". Если вам нужен точный поиск, включите опцию Case-sensitive. Это полезно, например, для поиска JSON-ключей в определённом регистре.
Настройка в StatusCheck
Проверка ключевых слов настраивается как дополнительная опция 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 секунд
В течение 60 секунд
Webhook
В течение 30 секунд
Автозакрытие инцидента
Когда несколько последовательных проверок подряд показывают, что условие снова выполняется (текст появился или исчез в зависимости от режима), инцидент автоматически закрывается и отправляется уведомление о восстановлении. Это предотвращает ложные срабатывания при кратковременных сбоях.