Метрики¶
Полный справочник Prometheus-метрик, которые AppSec.AIGate экспортирует «из коробки». Как собрать их в Prometheus и визуализировать в Grafana — см. Мониторинг и метрики.
Каждый HTTP-сервис отдаёт метрики на эндпоинте GET /metrics своего
основного порта (см. Таблица портов). Метрики содержат только
числовые агрегаты и категориальные метки — ни персональных данных, ни
текста запросов в них нет, их безопасно собирать в общий Prometheus.
Кардинальность меток
Все бизнес-метрики используют ограниченные перечисления в метках
(никаких profile_id, provider_id, trace_id или сырых строк) — это
защищает Prometheus от взрывного роста числа рядов. Часть метрик PDP и
Tokenization Vault сохраняет устаревшую метку tenant_id (обратная
совместимость): в текущей версии (single-tenant) она несёт константу
default и на кардинальность не влияет; физическое удаление метки
запланировано.
RED-метрики (все сервисы)¶
Базовый набор Rate-Errors-Duration есть у каждого сервиса.
| Метрика | Тип | Метки | Описание |
|---|---|---|---|
http_requests_total |
counter | method, path, status_code |
Число HTTP-запросов |
http_request_duration_seconds |
histogram | method, path |
Длительность обработки |
http_requests_in_progress |
gauge | — | Запросы в обработке |
Метка path
Содержит шаблон маршрута (/api/v1/scans/{id}), а не конкретный URL
с подставленным идентификатором — это защищает Prometheus от взрывного
роста числа рядов. На API Gateway добавлена метка surface
(chat / passthrough / discovery / admin) — разделяет
инспектируемый трафик и прозрачный прокси.
Метрики решений (API Gateway)¶
Ядро наблюдаемости — «что firewall делает с трафиком». Наблюдаются один раз на запрос.
| Метрика | Тип | Метки | Описание |
|---|---|---|---|
gateway_decisions_total |
counter | action, monitor_mode |
Финальное решение: ALLOW / BLOCK / SANITIZE / MONITOR_ONLY / REJECT / FLAG |
gateway_blocks_by_reason_total |
counter | reason |
Причина блокировки: threat / pii / content_safety / content_policy / obfuscation / vault_unavailable / license |
gateway_detector_results_total |
counter | detector, outcome |
Исход детектора. detector: pii/threat/content_safety/content_policy/custom; outcome: triggered/clean/skipped/error |
gateway_response_decisions_total |
counter | action |
Решение сканирования ответа LLM: pass/redact/block/monitor |
gateway_monitor_would_block_total |
counter | would_action |
Что заблокировал бы monitor-режим (наблюдательный режим) |
Что значит «triggered» для threat-детектора
Срабатывание = оценка риска достигла порога профиля (а не «больше нуля»). ML-детектор возвращает базовую оценку 0.5 на безопасный текст, поэтому учёт «> 0» считал бы сработавшим весь трафик.
PII и контентная безопасность (API Gateway)¶
| Метрика | Тип | Метки | Описание |
|---|---|---|---|
gateway_pii_entities_detected_total |
counter | entity_type |
Обнаруженные ПДн по типам (EMAIL, PHONE, INN, SNILS, CREDIT_CARD, PERSON_NAME, …) — основа DLP/152-ФЗ отчётности |
gateway_content_safety_violations_total |
counter | category, phase |
Сработавшие категории контентной безопасности; phase: input/output |
Полные перечни — Типы PII, Категории Content Safety.
Оценка риска (API Gateway и PDP)¶
| Метрика | Тип | Метки | Описание |
|---|---|---|---|
gateway_threat_risk_score |
histogram | — | Распределение «сырой» оценки threat-детектора [0..1] |
gateway_risk_score |
histogram | — | Распределение сводной оценки риска PDP [0..1], глобально |
gateway_risk_severity_total |
counter | severity |
Распределение severity: none/low/medium/high/critical |
pdp_risk_score |
histogram | tenant_id |
Сводная оценка риска на стороне PDP [0..1] |
pdp_risk_severity_total |
counter | tenant_id, severity |
Severity решений PDP |
pdp_would_block_total |
counter | tenant_id |
Would-block в monitor-режиме (PDP) |
gateway_risk_* и pdp_*
gateway_risk_* считаются на API Gateway, pdp_* — на стороне PDP;
обе группы дают агрегированную картину риска по всей инсталляции. Метка
tenant_id у pdp_* — устаревшая (single-tenant): несёт константу
default, оставлена для обратной совместимости; физическое удаление
метки запланировано.
Надёжность (API Gateway)¶
| Метрика | Тип | Метки | Описание |
|---|---|---|---|
gateway_fail_safe_invocations_total |
counter | stage |
Активации fail-safe (pdp/detection/vault/response) при недоступности зависимости или неразрешённом профиле |
gateway_vault_operations_total |
counter | operation, outcome |
Операции токенизации (tokenize/detokenize) |
llm_firewall_upstream_failures_total |
counter | failure_class, provider |
Сбои вызова upstream-LLM (timeout/transport/canceled) |
Производительность запроса (API Gateway)¶
Доказательная база «шлюз не вносит ощутимой задержки». Главная цифра — overhead: общее время минус ожидание модели.
| Метрика | Тип | Метки | Описание |
|---|---|---|---|
gateway_overhead_seconds |
histogram | — | Накладные расходы шлюза = total − ожидание LLM |
gateway_upstream_duration_seconds |
histogram | — | Ожидание upstream-LLM (только когда модель вызывалась) |
gateway_stage_duration_seconds |
histogram | stage |
Wall-clock каждой стадии (normalize/pii/threat/content_safety/pdp/output_scan/detectors_wall/…) |
Сумма стадий ≠ общее время
Детекторы работают параллельно. Честную «стену» фазы детекции даёт
gateway_stage_duration_seconds{stage="detectors_wall"}.
Стриминг (API Gateway)¶
| Метрика | Тип | Метки |
|---|---|---|
gateway_stream_requests_total |
counter | mode, outcome |
gateway_stream_ttfb_seconds |
histogram | mode |
gateway_stream_total_duration_seconds |
histogram | mode |
streaming_active_sessions |
gauge | — |
streaming_detections_total |
counter | action, category, detected_at_phase |
streaming_overload_fallback_total |
counter | trigger (timeout / http_429 / queue_full) |
streaming_provider_unsupported_total |
counter | provider_type |
streaming_sticky_unsafe_total |
counter | detected_at_phase (incremental / final_scan / overload_fallback) |
Обнаружение моделей (API Gateway)¶
| Метрика | Тип | Метки |
|---|---|---|
gateway_discovery_requests_total |
counter | route, outcome, family |
gateway_discovery_request_duration_seconds |
histogram | route, outcome, family |
gateway_discovery_cache_hits_total |
counter | route |
SDK-сканирование (API Gateway)¶
Экспортируются API Gateway на том же /metrics — для запросов через SDK-эндпоинты /_aigate/v1/*.
| Метрика | Тип | Метки | Описание |
|---|---|---|---|
aigate_internal_namespace_requests_total |
counter | path, status_code |
Запросы на SDK-эндпоинты /_aigate/v1/* |
aigate_sdk_scan_duration_seconds |
histogram | direction, action |
E2E-задержка SDK-скана; direction: input/output; action: решение PDP |
Метрики детекторов и инфраструктуры¶
Эти метрики экспортируют сами сервисы-детекторы. По умолчанию Prometheus их не собирает — добавьте scrape-цели (см. Мониторинг), если нужен разрез «сеть vs время самого детектора».
| Метрика | Тип | Метки |
|---|---|---|
pii_detector_processing_seconds |
histogram | — |
pii_detector_entities_total |
counter | entity_type |
| Метрика | Тип | Метки |
|---|---|---|
content_safety_inference_errors_total |
counter | kind |
content_safety_streaming_inference_errors_total |
counter | kind |
content_safety_streaming_scan_duration_seconds |
histogram | phase |
content_safety_streaming_active_sessions |
gauge | — |
content_safety_streaming_session_evictions_total |
counter | reason |
| Метрика | Тип | Метки |
|---|---|---|
content_policy_evaluations_total |
counter | blocked |
content_policy_evaluation_duration_seconds |
histogram | — |
| Метрика | Тип | Метки |
|---|---|---|
vault_tokenize_total / vault_detokenize_total |
counter | success / action |
vault_tokenize_duration_seconds / vault_detokenize_duration_seconds |
histogram | — |
vault_active_tokens |
gauge | tenant_id |
vault_cleanup_expired_total, vault_cleanup_failures_total |
counter | — |
| Метрика | Тип | Метки |
|---|---|---|
event_exporter_events_consumed_total, event_exporter_consume_errors_total |
counter | — |
event_exporter_consumer_lag |
gauge | — |
event_exporter_events_exported_total, event_exporter_export_errors_total |
counter | exporter, type |
event_exporter_export_latency_seconds |
histogram | exporter, type |
Сервис перевода RU→EN отключён по умолчанию (GATEWAY_TRANSLATION_ENABLED=false); метрики появляются только при включении.
| Метрика | Тип | Метки |
|---|---|---|
translation_requests_total |
counter | source_lang, target_lang, status |
translation_duration_seconds |
histogram | source_lang, target_lang |
Guardrail-backend для LiteLLM / Portkey. Отдаёт /metrics на своём порту (хост-порт 8095).
| Метрика | Тип | Метки |
|---|---|---|
guardrail_decisions_total |
counter | gateway (litellm/portkey), action |
guardrail_decision_duration_seconds |
histogram | gateway |
Сервисы без бизнес-метрик
Threat Detector экспортирует только RED-метрики — отдельных бизнес-метрик у него нет. Admin UI (nginx, фронтенд) метрик не экспортирует.