Как настроить проверку содержимого сайта
Content Check загружает вашу страницу в настоящем браузере и ищет конкретный текст на странице по мере ее отрисовки, а не в сыром HTML, который сервер отправляет первым. Это ловит класс сбоев, который простая проверка статуса HTTP вообще не способна увидеть: страницу, возвращающую обычный 200 OK, но показывающую сообщение об ошибке базы данных, взломанную страницу, изменившуюся цену или товар, закончившийся на складе. Поскольку проверка работает в настоящем браузере, она проверяет и содержимое, внедренное JavaScript после первоначальной загрузки, и то, что содержит сырой ответ. Если вам нужно только знать, отвечает ли сервер верным кодом состояния, заголовками или паттерном тела, ближе подходит руководство по HTTP-проверке, дающее больше локаций мониторинга и полный язык правил проверки ответа; обращайтесь к Content Check именно тогда, когда сбой, которого вы опасаетесь, звучит как "страница загружается нормально, но показывает не то".
Основные настройки
У этого типа нет отдельного скриншота для группы Main Settings, но каждый элемент управления в ней стандартен для всех типов мониторов HostTracker:
- Url/Domain/IP - страница для загрузки, например полный URL
https://example.com. - Name - необязательная метка этого монитора на вашей панели управления, в оповещениях, отчетах и виджетах.
- Interval schedule / Cron schedule - сегментированный переключатель между простым повторяющимся интервалом и полным cron-выражением для произвольных расписаний (пресеты ежечасно, ежедневно, еженедельно, ежемесячно, либо продвинутый синтаксис cron). Минимально доступный интервал зависит от вашего тарифа.
- Timeout - сколько ждать завершения загрузки страницы, прежде чем проверка провалится, от 1 до 120 секунд для этого типа. Более высокий потолок по сравнению с обычной HTTP-проверкой отражает то, что полная загрузка страницы в браузере занимает больше времени, чем голый запрос. Если ничего не менять, проверка использует значение по умолчанию 40 секунд; поднимать или понижать его нужно только если ваша страница необычно медленная или вы хотите более жесткое число.
- Tags - произвольные текстовые метки для группировки и фильтрации этого монитора.
- Full Log - сохраняет каждый отдельный результат проверки для этого монитора, не группируя их.
- Open Stats - позволяет делиться статистикой и логами этого монитора с другими, в том числе с людьми без входа в аккаунт.
Эта группа также несет переключатель Enabled, приостанавливающий или возобновляющий монитор.
Проверка ответа

Это вся проверка целиком для данного типа - отдельной группы настройки пробы/запроса нет, поскольку сопоставление ключевых слов с отрисованной страницей одновременно и есть запрос, и есть вердикт.
- Content check keywords - одно или несколько ключевых слов, вводимых списком через запятую (либо по одному на строку). Это поле обязательно; монитору без ключевых слов нечего проверять. Общий текст ключевых слов ограничен 255 символами, поэтому предпочитайте несколько коротких характерных фрагментов одному длинному предложению.
- Successful check condition - определяет, как ключевые слова превращаются в проход или провал, с четырьмя вариантами ровно в том виде, в каком их показывает выпадающий список:
ANY keyword must be PRESENT on checked page(по умолчанию - проходит, если найдено хотя бы одно ключевое слово),ALL keywords must be PRESENT on checked page(должно быть найдено каждое ключевое слово),ANY keywords must be ABSENT on checked page(проваливается, как только появляется хотя бы одно из ключевых слов), иALL keywords must be ABSENT on checked page(проваливается только когда появились все ключевые слова до единого). Используйте условие PRESENT, чтобы подтвердить, что что-то по-прежнему на месте (кнопка покупки, сообщение об успехе); используйте условие ABSENT, чтобы оповещать, когда появляется что-то плохое (строка ошибки, запрещенное слово, сигнатура дефейса). - Case sensitive match - по умолчанию выключено. Включите, если точный регистр букв вашего ключевого слова имеет значение.
- Check only visible content - по умолчанию включено. Когда включено, ключевые слова, скрытые CSS (
display:none,visibility:hidden, либо нулевой размер), не засчитываются как присутствующие, так что текст, существующий в разметке, но никогда не показываемый посетителю, не даст ложное прохождение или ложную тревогу, в зависимости от вашего условия.
Если ваш тариф не включает мониторинг по ключевым словам, этот раздел покажет заметку о том, что мониторинг ключевых слов отключен, со ссылкой на смену тарифа.
Локации мониторинга

- Locations - дерево чекбоксов регионов и отдельных точек мониторинга с поиском. Для того чтобы этот монитор считался полностью настроенным, должна быть выбрана хотя бы одна локация.
- Recheck strategy - что происходит, когда проверка обнаруживает смену состояния. По умолчанию проверка перезапускается из нескольких локаций, и новое состояние принимается голосованием большинством - для защиты от ложного срабатывания из-за одной нестабильной локации. Альтернативы: заданное число локаций должно подтвердить Down (открывает ползунок числа подтверждений Down от 1 до 7); вообще без перепроверки; полное согласие каждой локации перепроверки; либо полное согласие требуется для Down, тогда как для Up достаточно большинства.
- If selected locations are unavailable - «Selected locations only» (по умолчанию) ждет возвращения выбранных вами локаций; «Closest locations» подставляет ближайшие доступные; «Any location» переключается на любую доступную по всему миру.
Подписки на оповещения

Один переключатель подписывает всех контактов на события Up/Down за один шаг, либо вы можете выбрать отдельных контактов и подписать их на Down, Up и Repeat (повторные напоминания о Down) по отдельности в таблице ниже. Если этот раздел оставить пустым, для этого монитора вообще не будет отправлено ни одного оповещения.
Подписки на отчеты

Тот же паттерн применяется к отчетам об аптайме: подпишите всех контактов на еженедельные и ежемесячные отчеты одним переключателем, либо выбирайте Daily, Weekly и Monthly индивидуально для каждого контакта.
Разобранный пример
Допустим, интернет-магазин хочет узнавать в тот момент, когда флагманский товар заканчивается на складе, и отдельно хочет узнавать, если главная страница начинает показывать ошибку приложения, продолжая при этом отвечать 200. Для первого случая вы бы установили URL на страницу товара, ввели ключевое слово, появляющееся только когда товар можно купить, например Add to Cart, и оставили Successful check condition на значении по умолчанию ANY keyword must be PRESENT. Проверка проходит, пока текст кнопки на месте, и уходит в Down в тот момент, когда он исчезает, - именно это и есть сигнал об отсутствии товара. Для второго случая вы бы направили отдельный монитор Content Check на главную страницу, ввели ключевое слово, появляющееся только в состоянии сбоя, например Internal Server Error, и переключили условие на ALL keywords must be ABSENT, так что проверка остается Up, пока этот текст никогда не появляется, и уходит в Down в момент его появления. В обоих случаях вы бы оставили Case sensitive match выключенным, поскольку регистр формулировки вряд ли изменится, и оставили Check only visible content включенным, чтобы скрытый баннер ошибки, существующий в разметке, но никогда фактически не показываемый реальному посетителю, не вызывал ложную тревогу.
Диагностика
- Проверка никогда не уходит в Down, хотя страница явно изменилась. Проверьте, включен ли Case sensitive match и не перестал ли регистр букв вашего ключевого слова точно совпадать со страницей, либо не фильтрует ли Check only visible content текст, живущий в скрытом элементе. Сначала протестируйте с выключенным Check only visible content, чтобы подтвердить, что ключевое слово вообще есть, а затем решите, нужно ли вам поведение "только видимое".
- Проверка мечется между Up и Down на странице, которая выглядит для вас неизменной. Ключевое слово может находиться внутри динамического содержимого, которое сменяется, например карусели, ротируемого баннера или чередующейся локализованной строки. Выберите более стабильное ключевое слово, либо переключитесь на условие ALL с несколькими ключевыми словами, чтобы один ротирующийся элемент не мог перевернуть весь вердикт.
- Проверка начала проваливаться сразу после добавления нового ключевого слова под «ALL keywords must be PRESENT». Это условие требует, чтобы было найдено каждое ключевое слово из списка, поэтому добавление еще одного ключевого слова поднимает планку для каждой будущей проверки. Убедитесь, что новое ключевое слово появляется на странице дословно, либо переключитесь на ANY, если достаточно одного совпадения.
- Поле Content check keywords показывает заметку, что мониторинг ключевых слов отключен. Текущий тариф вашего аккаунта не включает эту функцию; заметка ведет прямо к смене тарифа.
- Текст ключевого слова как будто обрезается при сохранении. Общее поле ключевых слов ограничено 255 символами. Используйте несколько коротких характерных фрагментов вместо одной длинной фразы.
Связанные материалы
- Распределенный мониторинг доступности - страница продукта, охватывающая этот тип проверки.
- Бесплатный инструмент проверки содержимого сайта - выполните разовую проверку перед настройкой постоянного мониторинга.
- Руководство по HTTP-проверке - для проверки кодов состояния, заголовков и паттернов ответа вместо текста отрисованной страницы.
- Правила проверки ответа - язык правил, используемый для проверки HTTP и API.
- 200 OK - почему ответ 200 не доказывает, что страница показывает то, что нужно.
- Все руководства по мониторингу - руководство по настройке для каждого другого типа проверки.