diff --git a/docs/analytics-backlog.md b/docs/analytics-backlog.md new file mode 100644 index 0000000..a9b3360 --- /dev/null +++ b/docs/analytics-backlog.md @@ -0,0 +1,41 @@ +# Analytics backlog (SAC) + +Разработка отложена; задачи для `work-plan.md` / спринта. + +## Фаза A — API + +| ID | Задача | Готово когда | +|----|--------|--------------| +| analytics-a1 | `GET /api/v1/analytics/series` (`bucket=hour\|day\|week\|month`, `from`/`to`) | JSON series + тесты | +| analytics-a2 | `group_by=severity\|type\|product`, `exclude_types=agent.heartbeat` | heartbeat не в общем счётчике | +| analytics-a3 | Presets 24h / 7d / 30d / 90d | документация API | +| analytics-a4 | Dashboard: `daily_reports_24h` учитывает `report.daily.rdp` | test_dashboard | +| analytics-a5 | Индексы под агрегации | EXPLAIN без full scan | + +## Фаза B — UI + +| ID | Задача | +|----|--------| +| analytics-b1 | Страница «Аналитика» + сайдбар | +| analytics-b2 | Графики: события по дням; failed vs success login | +| analytics-b3 | Sparklines на «Обзоре» (опционально) | +| analytics-b4 | Chart.js / аналог в Vite bundle | + +## Фаза C — отчёты и SOC + +| ID | Задача | +|----|--------| +| analytics-c1 | Тренды из `report.daily.*` → `details.stats` | +| analytics-c2 | KPI: % хостов с отчётом за 25h | +| analytics-c3 | Problems opened/resolved, MTTR | +| analytics-c4 | Top `source_ip` для `*.login.failed` | + +## Фаза D — масштаб + +| ID | Задача | +|----|--------| +| analytics-d1 | `analytics_daily_rollups` + nightly job | +| analytics-d2 | Экспорт CSV | +| analytics-d3 | `docs/analytics.md` (метрики и лимиты retention) | + +**Приоритет:** A1 → B1 → C1 → остальное.