Files
han-app/codebase/Signoz/docs/MVP_DASHBOARDS_ALERTS.md
T

4.3 KiB
Raw Blame History

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

  1. Request rate — rate/sum han_http_requests_total, group by http.route, http.request.method.
  2. Error rate — доля han_http_requests_total с http.response.status_class=5xx.
  3. Latency p50/p95/p99han_http_request_duration_seconds, group by route template.
  4. Rate-limit decisions — rate han_rate_limit_decisions_total, group by scope, outcome.
  5. Bootstrap outcomes — rate han_auth_bootstrap_total, group by outcome.
  6. Slow/error traces — link в Traces с service.name=api-backend.

Dashboard: HAN SMS

  1. Send outcomes — rate sms_send_total, group by provider, send_status.
  2. Provider p95 latencysms_provider_request_duration_seconds.
  3. Uncertain outcomes — rate sms_uncertain_total.
  4. Callback result/lagsms_callback_total, sms_callback_lag_seconds.
  5. Oldest pendingsms_pending_oldest_age_seconds.
  6. Journal rows/settingssms_journal_rows, sms_settings_valid.
  7. Worker tracesservice.name=sms-worker, span sms.process.

Dashboard: Collector health

Используйте autocomplete Metrics Explorer для фактических otelcol_* имён версии Collector 0.117.0:

  1. accepted и refused spans/metric points/log records;
  2. exporter sent/failed;
  3. sending queue capacity/size;
  4. tail-sampling sampled/dropped/late spans;
  5. process RSS/CPU;
  6. Prometheus scrape failures для sms-service, sms-worker, keycloak;
  7. отсутствие данных по каждому обязательному 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 > 300 5 минут.
  • SMS settings invalid: sms_settings_valid < 1 5 минут.
  • 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 считается введённым в эксплуатацию, когда:

  1. панели показывают свежие данные после synthetic request;
  2. фильтр release отделяет текущий rollout от предыдущего;
  3. route содержит template, а не UUID/raw URI;
  4. ни одна metric series не содержит user/session/request/trace identifiers;
  5. alert проверен контролируемым synthetic failure;
  6. экспортированный Dashboard V2 JSON сохранён рядом с этим документом.