feat: host display_name в ingest, поиск хостов, UI и docs
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -170,6 +170,29 @@ Idempotency-Key: 550e8400-e29b-41d4-a716-446655440000
|
||||
---
|
||||
|
||||
## 3.3. Человекочитаемое имя хоста (`host.display_name`)
|
||||
|
||||
В UI SAC (**Хосты**, фильтры Problems/Events) показывается `display_name`, если оно задано; иначе `hostname` из ОС.
|
||||
|
||||
| Агент | Параметр | В ingest |
|
||||
|-------|----------|--------|
|
||||
| **ssh-monitor** | `SERVER_DISPLAY_NAME` в `/etc/ssh-monitor.conf` | `host.display_name` (пусто — поле не передаётся) |
|
||||
| **RDP-login-monitor** | `$ServerDisplayName` в `login_monitor.settings.ps1` | `host.display_name`; `hostname` = `$env:COMPUTERNAME` |
|
||||
|
||||
Пример фрагмента JSON:
|
||||
|
||||
```json
|
||||
"host": {
|
||||
"hostname": "NEW-ADMIN-PC",
|
||||
"display_name": "UNMS Kalina",
|
||||
"os_family": "windows"
|
||||
}
|
||||
```
|
||||
|
||||
Telegram у ssh/RDP использует ту же подпись, что и `display_name`, когда параметр задан.
|
||||
|
||||
---
|
||||
|
||||
## 4. Поля `dedup_key` (рекомендации)
|
||||
|
||||
| Тип | Формат dedup_key |
|
||||
|-----|------------------|
|
||||
|
||||
+5
-5
@@ -90,15 +90,15 @@
|
||||
- [x] `d2-1` UI Problems: список, фильтры, `Ack/Resolve`, карточка с таймлайном
|
||||
- [x] `d2-2` Dashboard: top hosts/types, `open vs resolved 24h`, drill-down
|
||||
- [x] `d2-3` Ops: retention, health checks, runbook backup/restore/deploy
|
||||
- [ ] `dod` DoD: нет дублей `event_id`, Problems e2e, 3 правила, UI MVP, docs, push в kalinamall
|
||||
- [x] `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`
|
||||
- [x] `agent-display-rdp` **RDP-login-monitor:** `$ServerDisplayName` в `login_monitor.settings.ps1` / example; подпись в Telegram; в `Sac-Client.ps1` — `host.display_name` (и при необходимости согласовать `hostname`)
|
||||
- [x] `agent-display-ssh` **ssh-monitor:** в `sac-client.sh` передавать `SERVER_DISPLAY_NAME` как `host.display_name` в JSON ingest
|
||||
- [x] `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**, а не только короткое имя ОС.
|
||||
|
||||
@@ -121,7 +121,7 @@
|
||||
- [x] `13:00–14:30` Dashboard: виджеты top hosts/types
|
||||
- [x] `14:30–16:00` Dashboard: `open/resolved 24h` + drill-down
|
||||
- [x] `16:00–17:00` retention job (`events 30–90d`, `problems 180d+`)
|
||||
- [ ] `17:00–18:00` health checks (DB/worker/heartbeat stale)
|
||||
- [x] `17:00–18:00` health checks (DB/worker/heartbeat stale)
|
||||
- [x] `18:00–19:00` runbook + финальный push в kalinamall + freeze dev
|
||||
|
||||
### Неделя после freeze (только тестирование)
|
||||
|
||||
Reference in New Issue
Block a user