feat(portal): add agent data trust explain

This commit is contained in:
igor04091968
2026-06-04 11:59:50 +03:00
parent 95e7c0f314
commit e55b68868d
6 changed files with 280 additions and 39 deletions
+28 -19
View File
@@ -28,36 +28,45 @@
- WARN/FAIL подразделения;
- критические риски;
- недельный тренд;
- качество данных агента;
- достоверность данных агента;
- топ-5 лучших и проблемных подразделений;
- Heat Map;
- блок `Требует внимания`.
## Качество данных агента
## Достоверность данных агента
Портал показывает карточку `Качество данных агента` в `Обзор` и `Отчеты`.
Портал показывает карточку `Достоверность данных агента` в `Обзор` и
`Отчеты`. Это управленческий вывод о том, можно ли использовать текущий
`Индекс активности` и отчеты как подтвержденный KPI.
Карточка содержит:
API сохраняет старое поле `agent_quality` и дополнительно отдает
`agent_quality_explain`:
- `quality_status`;
- `collector_source`;
- `sessions_collected_total`;
- `active_sessions_total`;
- `rdp_sessions_total`;
- `collector_error`, если он есть.
- `status`;
- `title`;
- `summary`;
- `recommendation`;
- `kpi_accepted`.
Цвета статусов:
- `ok` - зеленый;
- `fallback` - желтый;
- `degraded` - оранжевый;
- `error` - красный;
- `unknown` - серый.
- `OK` - зеленый, KPI подтвержден основным источником;
- `WARNING` - желтый, данные собраны резервным способом;
- `DEGRADED` - оранжевый, данные нельзя использовать как доказательный KPI;
- `UNKNOWN` - серый, агент не передал diagnostics.
Для `fallback`, `degraded` и `error` портал показывает предупреждение о том,
что активность собрана не основным способом и точность RDP/worktime KPI может
быть снижена. Старые агенты без diagnostics не ломают API и отображаются как
`unknown`.
Карточка сначала показывает управленческий вывод, принято ли значение в KPI, и
рекомендацию. Технические поля доступны в раскрываемом блоке:
- источник коллектора;
- всего сессий;
- активных сессий;
- RDP-сессий;
- ошибка коллектора, если она есть.
Если diagnostics отсутствует, статус `UNKNOWN`, рекомендация - обновить Rust
agent и проверить поступление telemetry JSONL. Если источник `local_fallback`,
портал прямо пишет: `Диагностический режим, данные не засчитываются в KPI`.
## Risk -> Investigation
+16 -4
View File
@@ -73,11 +73,14 @@ aw_worktime_enabled = true
- `collector_source`;
- `collector_error`.
## Качество данных агента
## Достоверность данных агента
Портал и отчеты поднимают diagnostics в блок `agent_quality`.
Портал и отчеты поднимают diagnostics в два блока:
Статусы:
- `agent_quality` - обратная совместимость и технические счетчики;
- `agent_quality_explain` - управленческий вывод о доверии к KPI.
Статусы `agent_quality`:
- `ok` - основной источник `wts_api`, ошибки коллектора нет;
- `fallback` - данные получены через `quser_utf16`, `quser_lossy` или
@@ -88,10 +91,19 @@ aw_worktime_enabled = true
некорректный обязательный payload или ошибка парсинга;
- `unknown` - старый агент или payload без diagnostics.
Статусы `agent_quality_explain`:
- `OK` - данные приняты в KPI;
- `WARNING` - данные собраны резервным способом, допустимы как оперативный
ориентир, но требуют проверки для доказательной базы;
- `DEGRADED` - данные не приняты в KPI;
- `UNKNOWN` - агент не передал диагностику качества данных.
`local_fallback` считается диагностическим сигналом, а не доказательством
активности. События worktime, опубликованные из `local_fallback`, получают
`active=false`, `ignoredForKpi=true` и не должны увеличивать KPI сотрудника или
подтверждать RDP-активность.
подтверждать RDP-активность. В портале для этого режима выводится текст:
`Диагностический режим, данные не засчитываются в KPI`.
## PowerShell Legacy Fallback