diff --git a/docs/work-plan.md b/docs/work-plan.md index 27e0c3b..ce3fb57 100644 --- a/docs/work-plan.md +++ b/docs/work-plan.md @@ -92,13 +92,23 @@ - [ ] `d2-3` Ops: retention, health checks, runbook backup/restore/deploy - [ ] `dod` DoD: нет дублей `event_id`, Problems e2e, 3 правила, UI MVP, docs, push в kalinamall +### Отображение хостов (`display_name`, как `SERVER_DISPLAY_NAME` у ssh) + +Сейчас: **ssh** — `SERVER_DISPLAY_NAME` только в Telegram; в SAC уходит `socket.gethostname()`. **RDP** — параметра нет, в SAC только `$env:COMPUTERNAME`. В SAC UI «Хосты» уже показывает `display_name || hostname`, если поле пришло в ingest. + +- [ ] `agent-display-rdp` **RDP-login-monitor:** `$ServerDisplayName` в `login_monitor.settings.ps1` / example; подпись в Telegram; в `Sac-Client.ps1` — `host.display_name` (и при необходимости согласовать `hostname`) +- [ ] `agent-display-ssh` **ssh-monitor:** в `sac-client.sh` передавать `SERVER_DISPLAY_NAME` как `host.display_name` в JSON ingest +- [ ] `sac-display-hosts` **SAC:** проверить ingest/обновление `Host.display_name`; колонка «Хосты» = человекочитаемое имя; поиск по `display_name`; `docs/agent-integration.md` + schema `host.display_name` + +**Приёмка:** хост с `SERVER_DISPLAY_NAME="UNMS Kalina"` (или RDP `$ServerDisplayName`) в SAC → **Хосты** отображается как **UNMS Kalina**, а не только короткое имя ОС. + ### Почасовой чеклист #### День 1 - [ ] `09:00–10:00` миграция `event_id` + UNIQUE, валидация ingest - [ ] `10:00–11:00` поведение duplicate (`201/409`) и логирование reject -- [ ] `11:00–12:00` обновить `event-schema-v1.json` и `agent-integration.md` +- [ ] `11:00–12:00` обновить `event-schema-v1.json` и `agent-integration.md` (в т.ч. `host.display_name` для агентов) - [ ] `13:00–14:30` модель Problems + миграция - [ ] `14:30–16:00` корреляция при ingest (`fingerprint`, `count`, `last_seen`) - [ ] `16:00–17:30` API `GET /problems`, `ack`, `resolve` + smoke