Журналы и метрики ноды¶
Для контроля работы SmartBot Protection доступны три локальных источника данных: журнал программного интерфейса ноды (antibot_api), переменные журнала доступа веб-сервера (access log) и счётчики wallarm-status для систем мониторинга. Вместе с журналом «Боты» в Консоли управления они используются для анализа инцидентов и контроля работы защиты.
Журнал antibot_api¶
Каждое обращение к программному интерфейсу ноды фиксируется отдельной записью. Запись содержит время, тип события, Request ID, User ID, результат проверки и её причину. При достаточном уровне детализации также сохраняется тело запроса.
По Request ID запись можно сопоставить с обращением в журнале доступа и событием блокировки в Консоли управления.
| Тип события | Что фиксируется |
|---|---|
register | Регистрация клиента со страницы проверки: результат, причина (сигналы, CAPTCHA, подделка данных), выданный токен |
analyze | Результат поведенческого анализа: продление, перевыпуск или отзыв токена |
token | Переустановка cookie с токеном |
log | Клиентские логи агента |
mobile_init, mobile_register, mobile_analyze | Обращения мобильного контура |
Журнал записывается отдельно для каждого воркера веб-сервера в каталог, заданный параметром antibot_api_logs.dir (по умолчанию /var/log/antibot_api). Ротация выполняется по размеру файла и количеству копий.
Уровень детализации задаётся параметром antibot_api_logs.level и применяется без перезапуска:
- 0 – журнал выключен.
- 30 (по умолчанию) – фиксируются события всех обращений с результатами и причинами, без тел запросов.
- 70 – дополнительно сохраняются тела клиентских логов агента с ограничением объёма записи.
- 100 – сохраняются полные тела запросов программного интерфейса.
Повышенные уровни детализации рекомендуется включать временно, на период анализа инцидентов, поскольку тела запросов содержат данные пользователей.
Параметры журнала описаны в Параметрах конфигурации ноды.
Журнал доступа (access log)¶
Результат проверки каждого запроса доступен в журнале доступа веб-сервера через переменную $antibot_check_result.
Переменную можно добавить в формат журнала для фиксации результата обработки запроса:
- Пропуск запроса.
- Показ страницы проверки.
- Блокировка запроса.
- Пропуск подтверждённого поискового робота, в том числе по сети.
Также включите в формат журнала Request ID. Идентификатор добавляется к событию блокировки и отображается на странице блокировки. По нему можно найти обращение в журналах ноды и сопоставить его с событием в Консоли управления.
Пример формата журнала:
log_format antibot '$remote_addr - $remote_user [$time_local] "$request" $status $request_id $antibot_check_result';
Метрики wallarm-status¶
Модуль агрегирует счётчики проверок и передаёт их через сервер статуса. Его конфигурация задаётся файлом wallarm-status.conf из поставки. Значения доступны по служебному адресу 127.0.0.8.
Сервер статуса необходим для работы аналитики. Не удаляйте его и не изменяйте конфигурацию.
Основные группы счётчиков:
| Группа | Что считается |
|---|---|
| Общие решения | Запросы с включённым антиботом по результатам обработки: пропущено, заблокировано, показана страница проверки, ошибки |
| Проверка запроса | Причины срабатываний: токен отсутствует, истёк, не расшифрован, не совпал с клиентом, блокировка по спискам User-Agent и TLS и другие |
| Поисковые роботы | Допуски и блокировки роботов, включая пропуски по сетям CIDR |
| Программный интерфейс | Результаты register, analyze, token и мобильного контура: блокировки по сигналам, запрос и неуспешное прохождение CAPTCHA, подделки данных |
Значения счётчиков получаются по HTTP и передаются в системы мониторинга заказчика.
Те же данные в агрегированном виде доступны в Консоли управления. Подробнее – Активность ботов и Мониторинг и анализ заблокированных запросов.
Что использовать для анализа¶
| Задача | Источник |
|---|---|
| Найти обращение по Request ID | Журнал доступа ($request_id, $antibot_check_result) и журнал antibot_api |
| Подробно разобрать блокировку | Раздел «Боты» в Консоли управления, затем журнал antibot_api для просмотра причины и тела запроса |
| Непрерывно контролировать работу защиты | Метрики wallarm-status в системе мониторинга |
| Проверить ответ ноды на запрос | Заголовок X-Antibot-Response (LANDING – страница проверки, BLOCK – блокировка) и переменная $antibot_check_result |