42f31b3bb5
analytics-a4: daily_reports_24h uses report.daily.*; sac-deploy enables timers Co-authored-by: Cursor <cursoragent@cursor.com>
1.7 KiB
1.7 KiB
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 → остальное.