feat(agent): expose data quality in portal

This commit is contained in:
igor04091968
2026-06-04 11:49:14 +03:00
parent d7616fd9a9
commit 95e7c0f314
7 changed files with 362 additions and 5 deletions
+27
View File
@@ -28,10 +28,37 @@
- WARN/FAIL подразделения;
- критические риски;
- недельный тренд;
- качество данных агента;
- топ-5 лучших и проблемных подразделений;
- Heat Map;
- блок `Требует внимания`.
## Качество данных агента
Портал показывает карточку `Качество данных агента` в `Обзор` и `Отчеты`.
Карточка содержит:
- `quality_status`;
- `collector_source`;
- `sessions_collected_total`;
- `active_sessions_total`;
- `rdp_sessions_total`;
- `collector_error`, если он есть.
Цвета статусов:
- `ok` - зеленый;
- `fallback` - желтый;
- `degraded` - оранжевый;
- `error` - красный;
- `unknown` - серый.
Для `fallback`, `degraded` и `error` портал показывает предупреждение о том,
что активность собрана не основным способом и точность RDP/worktime KPI может
быть снижена. Старые агенты без diagnostics не ломают API и отображаются как
`unknown`.
## Risk -> Investigation
Кнопка `Открыть расследование` переводит пользователя в read-only карточку.
+23 -1
View File
@@ -73,6 +73,26 @@ aw_worktime_enabled = true
- `collector_source`;
- `collector_error`.
## Качество данных агента
Портал и отчеты поднимают diagnostics в блок `agent_quality`.
Статусы:
- `ok` - основной источник `wts_api`, ошибки коллектора нет;
- `fallback` - данные получены через `quser_utf16`, `quser_lossy` или
`env_sessionname_fallback`;
- `degraded` - используется `local_fallback` или есть некритичная ошибка
коллектора;
- `error` - есть критичная ошибка коллектора, например отказ доступа,
некорректный обязательный payload или ошибка парсинга;
- `unknown` - старый агент или payload без diagnostics.
`local_fallback` считается диагностическим сигналом, а не доказательством
активности. События worktime, опубликованные из `local_fallback`, получают
`active=false`, `ignoredForKpi=true` и не должны увеличивать KPI сотрудника или
подтверждать RDP-активность.
## PowerShell Legacy Fallback
В `deployment-config.json` используется блок:
@@ -143,7 +163,9 @@ curl "http://<AW_SERVER_HOST>:5600/api/0/buckets/aw-worktime-sessions_<HOST>/eve
```json
{
"source": "awatch-agent-rs",
"sessionSource": "wts_api"
"sessionSource": "wts_api",
"collectorSource": "wts_api",
"ignoredForKpi": false
}
```