4.3 KiB
SigNoz MVP: dashboards и alerts
Документ фиксирует versioned-спецификацию первых панелей. Создавайте их через SigNoz Query Builder и экспортируйте полученный Dashboard V2 JSON обратно в репозиторий после проверки реальных имён attributes на production-like данных.
Обязательные фильтры каждой панели:
service.namespace = han-chat
deployment.environment = production-like
Добавьте переменные deployment.environment, service.name и
service.version. Идентификаторы пользователей, запросов, SMS и сессий
переменными dashboard не являются.
Для Prometheus-scraped SMS/Keycloak metrics имя источника находится в bounded
datapoint label service_name; для OTLP signals используется resource
attribute service.name.
Dashboard: HAN API RED
- Request rate — rate/sum
han_http_requests_total, group byhttp.route,http.request.method. - Error rate — доля
han_http_requests_totalсhttp.response.status_class=5xx. - Latency p50/p95/p99 —
han_http_request_duration_seconds, group by route template. - Rate-limit decisions — rate
han_rate_limit_decisions_total, group byscope,outcome. - Bootstrap outcomes — rate
han_auth_bootstrap_total, group byoutcome. - Slow/error traces — link в Traces с
service.name=api-backend.
Dashboard: HAN SMS
- Send outcomes — rate
sms_send_total, group byprovider,send_status. - Provider p95 latency —
sms_provider_request_duration_seconds. - Uncertain outcomes — rate
sms_uncertain_total. - Callback result/lag —
sms_callback_total,sms_callback_lag_seconds. - Oldest pending —
sms_pending_oldest_age_seconds. - Journal rows/settings —
sms_journal_rows,sms_settings_valid. - Worker traces —
service.name=sms-worker, spansms.process.
Dashboard: Collector health
Используйте autocomplete Metrics Explorer для фактических otelcol_* имён
версии Collector 0.117.0:
- accepted и refused spans/metric points/log records;
- exporter sent/failed;
- sending queue capacity/size;
- tail-sampling sampled/dropped/late spans;
- process RSS/CPU;
- Prometheus scrape failures для
sms-service,sms-worker,keycloak; - отсутствие данных по каждому обязательному
service.name.
Первые alerts
Alerts создаются после 24 часов baseline. Все правила получают owner, severity
и ссылку на SIGNOZ_RUNBOOK.md.
- API 5xx: доля 5xx > 5% в течение 5 минут.
- API latency: p95 выше 750 ms 10 минут; до разделения route-классов это warning, не page.
- SMS uncertain: рост
sms_uncertain_totalдольше 5 минут. - SMS pending stale:
sms_pending_oldest_age_seconds > 3005 минут. - SMS settings invalid:
sms_settings_valid < 15 минут. - Collector refused/dropped: значение > 0 дольше 5 минут.
- Collector queue: заполнение > 80% 10 минут.
- No telemetry: обязательный production-like сервис отсутствует 10 минут при ожидаемом трафике.
Не создавайте SLO по sampled traces. Availability/error budget рассчитываются по metrics. Multi-window burn alerts добавляются после двух недель baseline.
Acceptance
Dashboard считается введённым в эксплуатацию, когда:
- панели показывают свежие данные после synthetic request;
- фильтр release отделяет текущий rollout от предыдущего;
- route содержит template, а не UUID/raw URI;
- ни одна metric series не содержит user/session/request/trace identifiers;
- alert проверен контролируемым synthetic failure;
- экспортированный Dashboard V2 JSON сохранён рядом с этим документом.