# 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 → остальное.