Пользовательские события

Как включить логирование случаев, когда метрика отклонилась от нормы, и получать о них уведомления.

Что это

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

Пример. Для ресурса example.ru вы задали условие: порог ошибок 503 от сервера-источника — 10 в секунду. Ошибок стало больше, и система записала начало события. Позже частота снизилась до 10 в секунду — система записала окончание. Так вы узнаете, когда и как долго сервер был недоступен.

Когда пригодятся

Например, инструмент поможет отследить:

  • резкий рост или падение входящего трафика;

  • рост запросов от ботов;

  • увеличение времени ответа вашего сервера-источника;

  • всплеск ошибок 5xx на сервере-источнике;

  • любые другие изменения метрик.

Как работают

  1. Вы создаёте триггер — правило для мониторинга трафика. В нём указываете ресурс, метрику и её пороговое значение.

  2. Система следит за метрикой и сравнивает её значение с порогом.

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

  4. Как только метрика приходит в норму, система фиксирует окончание события.

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

Если настроили уведомления, система пришлёт вам сообщение при начале события и ещё одно — при завершении.

Где находятся пользовательские события в UI

Перейдите в раздел Защита веб-приложений → Пользовательские события. Здесь вы увидите две вкладки:

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

  • Триггеры — список всех созданных вами триггеров. Здесь вы можете создать новый триггер или управлять настройками существующих.

Как работать с каждой вкладкой — в разделах ниже.

Переход к пользовательским событиям

Триггеры

Как создать

  1. На вкладке Триггеры нажмите + Добавить триггер. Откроется окно для добавления триггера, все дальнейшие шаги выполняйте в нём.

  2. Выберите Ресурс, метрику которого нужно отслеживать.

  3. Выберите Тип метрики — группу показателей, за которыми хотите следить. Например: Коды ответа ориджина.

  4. Выберите Метрику — конкретный показатель, который будет отслеживать триггер. Например: можно выбрать метрику 2xx, 3xx, 4xx или 5xx.

    Полный список метрик и их описание вы найдёте ниже. Кликните на заголовок, чтобы раскрыть его.

    Описание метрик
    Тип метрики Описание и доступные варианты

    Пропускная способность

    Объём разных видов трафика.

    Доступные метрики:

    • Blocked — трафик, который был заблокирован в ходе фильтрации.

    • Passed — трафик, который прошёл фильтрацию и был передан на ваши серверы-источники.

    • Inbound — весь входящий трафик, который получила система защиты.

    • Outbound — исходящий трафик от ваших серверов-источников к клиентам.

    Действия с запросами

    Число запросов, которые система защиты обработала по разным сценариям.

    Доступные метрики:

    • Blocked — запросы, заблокированные по политикам фильтрации.

    • Cookie Challenge — запросы, в ответ на которые система защиты выдала клиенту cookie-челлендж.

    • JS Challenge — запросы, в ответ на которые система защиты выдала клиенту JS-челлендж.

    • CAPTCHA Challenge — запросы, в ответ на которые система защиты выдала клиенту CAPTCHA.

    • Passed — запросы, переданные на серверы-источники.

    • Redirected (301) — запросы, в ответ на которые система защиты вернула HTTP-код 301, например, для перенаправления с HTTP на HTTPS.

    • Bad Request (400) — запросы, в ответ на которые система защиты вернула HTTP-код 400 из-за некорректного формата запроса или нарушения протокола.

    CAPTCHA-челлендж статистика

    Число запросов, связанных с прохождением CAPTCHA.

    Доступные метрики:

    • Allowed — запросы от клиентов, которые уже недавно правильно решили капчу (такие запросы пропускаются к вашим серверам-источникам);

    • Issued — запросы, в ответ на которые клиенту была выдана CAPTCHA;

    • Solved — запросы, в ответ на которые клиенту была выдана CAPTCHA, и клиент её правильно решил.

    Коды ответа платформы

    Число запросов, в ответ на которые система защиты вернула HTTP-код конкретного типа.

    Доступные метрики:

    • 2xx — ответы с кодами 2xx (успешно).

    • 3xx — ответы с кодами 3xx (редирект).

    • 4xx — ответы с кодами 4xx (ошибка клиента).

    • 5xx — ответы с кодами 5xx (ошибка сервера).

    Время обработки запросов

    Число запросов, сгруппированных по общему времени обработки — от момента, когда система защиты получила запрос, до момента, когда она отправила ответ клиенту.

    Доступные метрики:

    • > 10 sec

    • 3-10 sec

    • 1-3 sec

    • 0.3-1 sec

    • < 0.3 sec

    Время ответа ориджина

    Число запросов, сгруппированных по времени ответа сервера-источника — от момента, когда система защиты отправила запрос на сервер-источник, до момента, когда она получила ответ.

    Доступные метрики:

    • > 10 sec

    • 3-10 sec

    • 1-3 sec

    • 0.3-1 sec

    • < 0.3 sec

    Классификация запросов

    Число запросов от разных типов клиентов.

    Доступные метрики:

    • Blacklisted — запросы от клиентов из чёрного списка.

    • Bot — запросы от ботов.

    • Likely Bot — запросы, которые система с высокой вероятностью определила как бот-трафик.

    • Likely Human — запросы, которые система с высокой вероятностью определила как трафик от человека.

    • Human — запросы от людей.

    • Verified Bot — запросы от верифицированных ботов, например, поисковых систем.

    • Whitelisted — запросы от клиентов из белого списка.

    5xx ошибки ориджина

    Число запросов, в ответ на которые сервер-источник вернул конкретную ошибку 5xx.

    Доступные метрики:

    • 500 — непредвиденная ошибка на стороне сервера.

    • 501 — метод запроса не поддерживается сервером и не может быть обработан.

    • 502 — сервер вернул некорректный ответ.

    • 503 — сервер временно недоступен, например из-за перегрузки или технического обслуживания.

    • 504 — сервер не успел получить ответ от внутреннего сервиса за отведённое время.

    Коды ответа ориджина

    Число запросов по HTTP-кодам, которые вернул сервер-источник.

    Доступные метрики:

    • 2xx — ответы с кодами 2xx (успешно).

    • 3xx — ответы с кодами 3xx (редирект).

    • 4xx — ответы с кодами 4xx (ошибка клиента).

    • 5xx — ответы с кодами 5xx (ошибка сервера).

  5. Выберите Единицу измерения, в которой система будет считать значение метрики. Например:

    • Kbit/s — килобиты в секунду;

    • Mbit/s — мегабиты в секунду;

    • rpm — запросы в минуту;

    • rps — запросы в секунду.

    В зависимости от метрики набор единиц измерения может отличаться.

  6. Выберите условие, при котором система должна зафиксировать событие: more than (больше чем) или less than (меньше чем).

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

    Пример: вы выбрали more than и указали значение 100. Система зафиксирует событие, когда значение метрики станет 101 и выше.

  7. Укажите пороговое значение — число, с которым система будет сравнивать текущее значение метрики. Это должно быть целое число больше нуля: без дробной части, букв, пробелов и специальных символов.

  8. Нажмите Добавить.

Готово! Триггер появится в списке и начнёт отслеживать выбранную метрику.

Рекомендации по настройке

  • Начните с метрик, изменения которых действительно важны для вашего ресурса. Не создавайте триггеры на все показатели сразу: чем меньше триггеров, тем понятнее, что означает каждое срабатывание. Например, если для вас критична доступность сайта, начните с типа 5xx ошибки ориджина.

  • Перед созданием триггера посмотрите, какие значения метрика принимает при обычной нагрузке. Для этого используйте разделы Обзор (дашборд), Аналитика и Статистика по трафику. Так вам будет проще выбрать подходящий порог.

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

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

Как управлять

На вкладке Триггеры вы увидите список всех созданных триггеров. Управлять ими можно прямо из списка:

  • Редактировать: в строке нужного триггера выберите другую единицу измерения в выпадающем списке или введите новое число в поле со значением. Новые настройки применятся сразу.

  • Удалить: нажмите на иконку мусорной корзины в строке триггера и подтвердите удаление.

Список триггеров

События

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

  • идентификатор события;

  • дата и время начала события;

  • дата и время окончания события;

  • ресурс, для которого зафиксировано событие;

  • тип отслеживаемой метрики;

  • показатель, по которому сработал триггер;

  • пороговое значение, заданное в триггере;

  • пиковое значение метрики за время события.

Список событий

Кликните иконку графика в строке события, чтобы посмотреть, как менялось значение метрики во время события. График доступен в двух шкалах: линейной и логарифмической. Логарифмическая помогает разглядеть детали, когда значения метрик различаются в десятки и сотни раз.

Если событие идёт в реальном времени (статус Не завершено), график по нему будет сформирован после его завершения.

График события

По умолчанию в журнале отображаются события по всем ресурсам и типам метрик за последние 30 дней. Эти настройки можно изменить:

  • Период. Нажмите Последние 30 дней и выберите нужный диапазон или задайте свой.

  • Фильтры по ресурсам и типам метрик. Нажмите Все ресурсы или Все типы метрик и выберите из списка нужный вариант. Откроется список событий, соответствующий вашим фильтрам.

  • Автообновление. Кликните 🔄 и установите частоту автообновления данных: выключена, 10/30 секунд, 1/5/15/30 минут или 1 час.

Настройки журнала событий

Уведомления о пользовательских событиях

Включите уведомления, чтобы получать сообщения о событиях: первое придёт, когда система зафиксирует отклонение метрики, второе — когда метрика вернётся в норму.

  1. Откройте настройки аккаунта.

  2. Перейдите на вкладку Подписки на уведомления.

  3. В подписке укажите получателей и способ доставки: имейл, Telegram или Webhook.

  4. (Опционально) по умолчанию вы будете получать уведомления по всем триггерам. Если интересуют только конкретные триггеры, укажите их ID — уведомления будут приходить только по ним.

ID триггеров можно найти в списке на вкладке Триггеры.

Подробная инструкция по настройке — в статье Подписки на уведомления.