Просмотр событий
Раздел События StarGuard Base предоставляет доступ к журналу всех запросов, прошедших через шлюзы StarGuard Gate. Каждая запись соответствует одному завершённому запросу к LLM и содержит информацию о пользователе, результате проверок детекторов, применённых политиках, потреблении токенов и стоимости, а также (при наличии прав) содержимом самих сообщений.
1. Формирование событий
Событие формируется StarGuard Gate по завершении обработки каждого запроса и отправляется в сервис Meta Saver (Vector, порт 8686, путь /meta), который нормализует событие и записывает его одновременно в две таблицы ClickHouse:
-
event— основные поля события: метаданные, результат проверок, информация о пользователе, модели и потреблении. -
event_trace— данные трассировки (содержимое запроса и ответа, в том числе замаскированные и демаскированные версии).
Событие создаётся независимо от исхода — как для успешно прошедших запросов, так и для заблокированных.
Поля основного события представлены ниже.
| Поле | Описание |
|---|---|
|
UUID события |
|
Время создания события |
|
Идентификатор чата/сессии (из заголовка или тела запроса) |
|
Пропущен ли запрос ( |
|
Имя детектора, заблокировавшего запрос. Для пользовательского детектора имя дополняется идентификатором сервиса. Пусто, если запрос пропущен |
|
Описание причины блокировки |
|
Имя пользователя, его группы и OIDC-провайдер |
|
Имя цели шлюза (Модели или Пути), к которой шёл запрос |
|
Количество входных, выходных и учитываемых для биллинга токенов |
|
Рассчитанная стоимость запроса и валюта |
|
Метаданные запроса: результаты срабатываний отдельных детекторов, обнаруженные сущности чувствительных данных, определённые языки, информация о вложениях, вызовах инструментов и обращениях к внешним сервисам пользовательского детектора |
|
Время обработки по каждому этапу (мс) |
|
Клиентский формат запроса: |
Дополнительно сохраняются данные трассировки, которые доступны пользователям с разрешением event_trace:read.
| Поле | Описание |
|---|---|
|
Оригинальный запрос пользователя (до маскирования) |
|
Запрос с замаскированными чувствительными данными (отправленный в LLM) |
|
Ответ LLM до демаскирования |
|
Итоговый ответ, переданный пользователю (после восстановления масок) |
|
Отказы аутентификации в журнал не попадают. Неверный токен или отсутствие учётных данных отклоняются до формирования события: такие случаи разбираются по журналам процесса шлюза. То же относится к отказам forward-прокси по настройке «Только HTTPS». |
2. Навигация по разделу событий
Раздел События доступен в боковой панели интерфейса StarGuard Base. Страница отображает таблицу событий с пагинацией (по умолчанию 25 записей на страницу, максимум 100).
Столбцы таблицы:
-
Дата/время — временная метка события.
-
Статус — Пройдено / Заблокировано.
-
Детектор — имя детектора, вызвавшего блокировку (для заблокированных запросов).
-
Chat ID — идентификатор сессии.
-
Пользователь — имя пользователя.
-
Описание — текст описания блокировки.
Нажатие на строку открывает детальную карточку события в боковой панели.
3. Фильтрация и поиск
Над таблицей доступны:
-
Выбор диапазона даты/времени — фильтр по периоду.
-
Поиск — диалог с дополнительными фильтрами.
-
Обновить — повторная загрузка списка.
| Фильтр | Описание |
|---|---|
Статус |
Все / Пройдено / Заблокировано |
Детектор |
Фильтр по имени детектора, заблокировавшего запрос |
Chat ID |
Фильтр по идентификатору чата |
Пользователь |
Фильтр по имени пользователя |
Сортировка доступна по времени, статусу, детектору и Chat ID.
4. Детали события
Карточка события содержит полную информацию о запросе, сгруппированную по блокам. Блок отображается только при наличии соответствующих данных.
| Блок | Содержание |
|---|---|
Событие ИБ |
Имя сработавшего детектора и описание причины блокировки |
Пользователь |
Имя пользователя и его группы |
Обработка |
Определённые языки запроса и прочие сведения об обработке |
Токены и лимиты |
Количество токенов (промпт, ответ, всего), рассчитанная стоимость, установленный лимит и признак его исчерпания |
Вложения |
Список файлов и изображений в запросе: имя файла и медиатип |
Детектор чувствительной информации |
Таблица найденных сущностей: текст, тип и подставленная маска |
Input Safe Guard / Output Safe Guard |
Признак нарушения и сработавшая политика |
Tool Policies |
Вызовы инструментов, сгенерированные моделью, и сработавшие политики: политика, инструмент, режим, совпавшие паттерны |
Пользовательский детектор |
Обращения к внешним сервисам: сервис, вердикт, причина, HTTP-код, длительность, число внесённых правок |
Трассировка |
При наличии разрешения |
Сырые данные детектора |
Полное содержимое поля |
5. Аналитические отчёты
Раздел События отвечает на вопрос «что произошло в конкретном запросе». Для агрегированных показателей за период — динамики блокировок, распределения по детекторам, статистики по чувствительным данным, потребления и расходов, использования инструментов — предназначен раздел Аналитика (Аналитика).
Оба раздела читают одни и те же события из ClickHouse, но требуют разных прав: журнал событий — event_trace:read, аналитика — analytics:read.
6. Интеграция с SIEM
События безопасности могут передаваться во внешние SIEM-системы в режиме реального времени. Интеграция реализована через компонент Vector (Meta Saver): он принимает события от Gate по HTTP, обогащает их и одновременно записывает в ClickHouse и транслирует в настроенные внешние системы.
Для настройки SIEM-интеграции необходимо добавить дополнительный sink в конфигурацию Vector (vector/vector.yaml). Vector поддерживает широкий спектр приёмников: Elasticsearch, Splunk HEC, Kafka, Syslog, HTTP и др.
Пример добавления Elasticsearch sink в vector.yaml:
sinks:
elasticsearch_siem:
type: elasticsearch
inputs:
- normalize
endpoints:
- https://siem.corp.example.com:9200
auth:
strategy: basic
user: vector
password: "${SIEM_PASSWORD}"
index: sg-events-%Y.%m.%d
compression: gzip
После изменения конфигурации перезапустить сервис Vector:
docker compose restart vector