Ops-борд: dev-stats-ingest-overview (здоровье ingestion)
Операционный борд здоровья batch-ingestion dev-stats (ADR-0057): лаг консюмеров, размер/латентность
пакетной вставки, промахи обогащения dim_*, freshness фактов, ошибки. В отличие от продуктовой панели
dev-stats-overview.md (бизнес-метрики застройщика) здесь — только эксплуатация
пайплайна: раскладка «событие → факт → rollup». Grafana/OTel-борд (не ЛК).
Область Действия
| Поле | Значение |
|---|---|
| Инструмент | Grafana/OTel (SRE/owning team), не ЛК застройщика |
| Источник данных | метрики/логи/трейсы DevStats.Background + ClickHouse pin_dev_stats (системные таблицы) |
| Аудитория | PIN Analytics (dev-stats) / SRE |
| Primary SLO | Freshness факта < 5 мин (событие → видимость в API); ingest-lag < 15 мин |
| Статус | draft |
Панели
| Panel | Метрика | Ориентир / Alert |
|---|---|---|
ingest-lag | dev_stats_ingest_lag_seconds (ViewedAt → IngestionTime) по консюмерам | alert > 15 мин |
batch-throughput | dev_stats_*_ingested_total, dev_stats_ingest_batch_size | падение до 0 при живом трафике → alert |
bulkcopy-latency | латентность пакетной вставки (insert span) | рост p95 → деградация freshness |
dim-miss | dev_stats_dim_property_object_miss_total (late-dimension, обогащение) | рост → нужен backfill dim_property_object |
dim-parked | число спаркованных сообщений факта (deferred re-enrich, ожидают строки dim_property_object) | устойчивый рост → gap измерения, скоро DLQ |
funnel-lag | лаг консюмеров этапов (favorites/selections/crm) по этапам | нижние этапы отстают от Views |
errors-dlq | ошибки вставки, poison/DLQ, retry-счётчики | alert на рост DLQ |
dlq-depth | глубина DLQ по консюмерам (poison + устойчивый late-dimension) | alert на ненулевую/растущую глубину |
api-5xx | dev_stats_*_requests_total{status=5xx}, latency histogram метрик | alert на 5xx / нарушение SLO |
freshness | max(EventDate) rollup vs now | staleness > 5 мин → расследование |
Enrichment-miss vs label-miss (важно для триажа): промах dim_property_object — enrichment-miss:
блокирует вставку факта (сообщение паркуется/уходит в DLQ), просмотр временно не виден в метриках — высокий
приоритет. Промах верхних измерений (dim_developer/dim_project/dim_building/dim_layout_group/dim_layout)
— label-miss: факт уже обогащён (иерархия денормализована), метрика корректна, деградирует только подпись до
id — низкий приоритет, backfill без срочности.
Сигналы Logs И Traces
| Сигнал | Query | Correlation |
|---|---|---|
| Logs (ingest) | `service=dev-stats project=DevStats.Background outcome=~"flushed | parked |
| Traces (ingest) | span=~".*Consumer" (consume + dim-lookup + insert) | correlationId, causationId |
| Logs (API 5xx) | service=dev-stats area=developers outcome=error status>=500 | correlationId, tenantId |
Alerts И Runbooks
| Alert | Порог | Runbook |
|---|---|---|
| ingest-lag high | > 15 мин | проверить ClickHouse доступность; консюмер догонит по offset (вставка идемпотентна) |
| dim gap (enrichment) | рост dim_property_object_miss/dim-parked | высокий приоритет: запустить ../background/dimension-backfill.md для dim_property_object, затем replay DLQ факта — просмотры допишутся |
| dim gap (label) | рост промаха верхних dim_* | низкий приоритет: факты корректны (иерархия денормализована), деградирует подпись; backfill измерения без срочности |
| DLQ depth | ненулевая/растущая dlq-depth | разобрать причину poison (контракт producer-а) vs устойчивый late-dimension; replay после фикса |
| Сбой пакетной вставки | ошибки вставки | восстановить CH; батч ретраится с backoff, offset не commit-ится (at-least-once без потерь) |
| MV drift | расхождение rollup vs факты | пересобрать rollup (../background/facts-backfill.md § rebuild) |
Обратные ссылки
Автоссылки: где используется этот документ.
- Отчёты (1): Отчет/Export: dev-stats-export (выгрузка аналитики застройщика)
- Дашборды (1): Панель Метрик Застройщика: dev-stats-overview (аналитика внимания)
- index.md (1): DevStats Service (Pin.DevStats)
Связанные Документы
- Продуктовая панель:
dev-stats-overview.md; экспорт —../reports/dev-stats-export.md. - Консюмеры ingestion:
../consumers/property-object-view-ended.md,../consumers/action-tracked.md,../consumers/session-ended.md; события —../events/README.md. - Backfill:
../background/dimension-backfill.md,../background/facts-backfill.md. - Сервис/эксплуатация: README (Runtime И Эксплуатация).
- ADR: ADR-0057, ADR-0056.