Docs / Руководство пользователя
Руководство пользователя
Как работать с интерфейсом Digraph: войти, разобраться в инвентаре контуров и серверов, читать живой граф и историю, запускать AI-анализ, настраивать алерты, работать с уязвимостями, аудитом, compose-проектами, секретами и бэкапами.
Эта страница — про ежедневную работу в UI. Установка и публикация образов — Установка; устройство портала и контуров — Портал и контуры; резервное копирование, SSO и TLS — Секреты, бэкапы, алерты; ошибки входа и сети — Диагностика.
Режимы и роли
Один и тот же интерфейс работает в двух режимах. В standalone UI отдаёт сам контур, и у вас один Docker-хост. В портале UI отдаёт BFF: пользователи входят в портал, а портал ходит в контуры по токену.
| Что | Standalone (контур) | Портал |
|---|---|---|
| Вход | Пароль контура (AUTH_TOKEN) или локальный аккаунт | Аккаунт портала или SSO |
| Инвентарь | Один встроенный хост | Контуры и серверы на дашборде |
| AI | Ключ на контуре, запуск оператором | Ключ на портале, запуск администратором |
| Пользователи | /#/users на контуре | Настройки портала → Пользователи |
Роли
Роль назначается аккаунту и проверяется на сервере: интерфейс лишь скрывает то, что всё равно запрещено.
| Роль | Что может |
|---|---|
Наблюдательviewer |
Смотреть граф, историю, аудит (Activity), алерты и доставки, уязвимости и сохранённые AI-заключения. Ничего не меняет. |
Операторoperator |
Всё, что наблюдатель, плюс действия на контурах: старт/стоп/пауза/перезапуск контейнеров, терминал, сканирование, compose up/down, правила алертов и тишины. В standalone также запускает AI-анализ. |
Администраторadmin |
Всё, что оператор, плюс настройки, пользователи, лицензия, секреты, создание и удаление compose-проектов, бэкапы и restore, ротация мастер-ключа, вкладки аудита «Действия API» и «Docker API», тест вебхуков. В портале только администратор запускает AI-анализ. |
Права на самом контуре задаются отдельно переменной PRIVILEGES:
actions (жизненный цикл), exec (терминал и доставка секретов),
compose (операции с проектами), secret push. Если возможность
выключена на контуре, кнопка не появится, а API ответит 403 feature_disabled,
даже у администратора.
Вход и навигация
Вход в портал
- Локальный аккаунт — логин и пароль (12–128 символов). Аккаунты создаёт администратор в настройках портала.
- Пароль портала (
PORTAL_TOKENиз конфига) работает как аварийный вход администратора с любым логином. - SSO — кнопка провайдера появляется рядом с паролем, когда OIDC включён (Enterprise).
Вход в контур
- Сверху выбирается хост; кнопка со значком плюса открывает диалог управления хостами.
- Если на контуре включены локальные аккаунты, появляется поле логина. Если нет — вход по паролю
AUTH_TOKEN.
Навигация
Верхняя панель: логотип (возврат на дашборд), хлебные крошки «контур → сервер» (клик тоже ведёт на дашборд) и меню справа. Имя хоста открывает его живой граф, стрелка рядом — меню.
| Пункт меню | Адрес | Когда виден |
|---|---|---|
| Дашборд | /#/dashboard | Всегда |
| Аудит | /#/events | Когда выбран сервер |
| Проекты | /#/projects | Раздел включён и выбран сервер |
| Секреты | /#/secrets | Раздел включён и выбран сервер |
| Безопасность | /#/security | Когда выбран сервер |
| Бэкапы | /#/backups | Раздел включён и выбран сервер |
| Настройки контура | /#/contour | Администратор, выбран сервер |
| Настройки портала | /#/settings | Администратор |
| Пользователи | /#/users | Администратор |
Живой граф открывается по клику на имя хоста (/#/app), история —
кликом по индикатору LIVE на графе (/#/history).
Язык интерфейса переключается в меню (English / Русский) и запоминается в браузере.
Дашборд: контуры и серверы
Дашборд — единая точка входа и единственное место, где меняется инвентарь. Сверху — поиск по контурам и серверам, счётчики и кнопка Контур; ниже — карточки контуров или карта (см. ниже).
Карточки контуров
- Заголовок карточки — имя контура, число серверов, ответственный (если назначен), сводка «N авториз. / M офлайн» и меню ⋮.
- Меню ⋮ — Добавить сервер, Изменить контур (у «Без контура» его нет) и Открыть контур (фокус на графе этого контура).
- Строка сервера — имя, адрес, метка «текущий», статус (
подключён,неверный ключ,офлайн,проверка), нагрузка CPU/RAM и кнопка Подключиться. - Клик по строке только выделяет сервер. Двойной клик или кнопка Подключиться — проверка ключа и переход на живой граф.
- ПКМ по строке — контекстное меню с Изменить.
- Серверы без контура попадают в отдельную карточку Без контура; чтобы назначить контур, откройте сервер и выберите его в поле Контур.
Авторизация на дашборде проверяется периодически и обновляется после каждого подключения. Значок «неверный ключ» означает, что контур ответил отказом: поправьте Ключ доступа в форме сервера.
Карта контуров (Enterprise)
При действующей лицензии Enterprise в панели дашборда появляется переключатель
Карточки / Карта. Карта рисует весь инвентарь одним графом:
корневая нода — клиент лицензии, от неё идут контуры, от контуров — серверы.
Выбор вида хранится в адресе: /#/dashboard?view=map.
- Клик по ноде выделяет контур или сервер.
- Двойной клик по серверу — подключение (проверка ключа → активный сервер → живой граф).
- Двойной клик по контуру — фокус на этом контуре.
- Поиск приглушает всё, что не совпало; пустые контуры видны всегда.
- Ноды карты не перетаскиваются: раскладка автоматическая, чтобы карта читалась одинаково у всех.
На карте сервер без контура показывается в синтетической группе Без контура, чтобы иерархия оставалась полной.
Панель рисков
Если на контуре включён прогноз (Enterprise, функция forecast), над
инвентарём показывается панель Риски. В неё попадают до пяти ближайших
дедлайнов: тип (disk, volume, memory,
restart, backup, certificate), объект,
текущее значение и порог, ETA и уверенность (high/medium/low).
- Просроченные состояния помечаются
overdue,expired,no backupи считаются критичными. - ETA меньше суток — критично, до недели — предупреждение.
- Ниже списка — раскрывающийся блок «Недостаточно данных»: мало истории, не задан лимит, нет бэкапа, тренд плоский или падает.
- Клик по строке открывает живой граф, где можно разобраться с объектом.
Создать контур
- Нажмите Контур и введите имя (dev, staging, prod…).
- При необходимости выберите Ответственного — администратора или оператора портала. Поле доступно администратору портала.
- Сохраните. Пустой контур сразу появится в списке.
Удаление контура не удаляет серверы: они остаются в группе Без контура.
В Community действует лимит: 3 контура и 15 серверов. При превышении интерфейс
показывает предупреждение, а API отвечает 409 limit_reached.
Добавить и подключить сервер
- Откройте меню карточки → Добавить сервер (или кнопку в пустой карточке).
- Заполните Имя, Адрес (
http://илиhttps://с портом), при желании Контур и Ответственного. - Ключ доступа нужен, если контур не входит в общий конфиг; при общем конфиге ключ уже есть, и поле не показывается.
- Нажмите Добавить (новый) или Подключиться (существующий). Портал сохранит форму, проверит ключ на контуре и только потом переключит активный сервер.
| Что видите | Что произошло | Что делать |
|---|---|---|
| Открылся живой граф | Ключ принят | — |
| «Контур отклонил ключ» | 401 от контура | Исправить ключ в форме сервера |
| «Сервер не отвечает» | Сеть/адрес/контур лежит | Проверить адрес и /api/ready у контура |
Форма редактирования позволяет сменить имя, адрес, контур и ответственного или удалить сервер (встроенный локальный хост удалить нельзя). Если удалить пользователя-ответственного, ссылка снимается с контуров и серверов автоматически.
Фокус на контуре
Открыть контур показывает канвас только этого контура. В шапке — возврат Обзор, статус, Добавить сервер и Изменить контур.
- Клик по ноде выделяет её; двойной клик по серверу — подключение, по контуру — форма редактирования.
- Ноды можно двигать; позиции сохраняются за сервером, поэтому раскладка не сбрасывается после перезагрузки.
Живой граф
Граф обновляется по WebSocket инкрементально: изменения видны сразу, без
перезагрузки. Индикатор LIVE в правом верхнем углу переключает на
историю; при потере связи поверх графа появляется оверлей с реконнектом.
Как читать ноды и рёбра
- Типы: контейнер (синий), сеть (teal), том (золотой); кластеры compose-проектов — подложки с подписью.
- Метрики: CPU (в процентах одного ядра, как
docker stats), RAM (usage без page cache и процент от лимита), sparkline за последние 30 сэмплов. - Статусы: пульсирующая рамка — активный алерт; остановленный контейнер — красная пунктирная рамка со штриховкой и меткой
⏻; пауза — янтарная с⏸. - Уязвимости: пунктирная рамка по severity и счётчик
CVE Nтого же цвета. - Рёбра: анимированные «пакеты», цвет отражает загрузку канала.
Клик, фокус и зависимости
- Клик по контейнеру подсвечивает его зависимости из
depends_onв обе стороны; повторный клик снимает подсветку. - ПКМ по сети → Фокус на стеке — яркой остаётся только эта сеть/проект; чип в углу и
Escснимают фокус. - ПКМ по контейнеру — меню узла (см. ниже).
Меню узла
| Пункт | Где | Что делает |
|---|---|---|
| YAML сервиса / YAML проекта | Контейнер / сеть | Показывает compose-файл, из которого создан ресурс |
| Инспекция | Контейнер | Карточка с деталями и кнопкой сканирования |
| Терминал | Контейнер | xterm.js; нужны права exec |
| Логи | Контейнер | Стрим с фильтром; секреты маскируются |
| Просмотр файлов | Том | Дерево файлов тома |
| Фокус на стеке | Сеть | Приглушает всё остальное |
| Explain через AI | Контейнер, сеть, том | Разбор узла моделью |
| Анализ стека с AI | Контейнер | Слои образа, build-команды, зависимости и Trivy-отчёт |
Сверху меню — иконки жизненного цикла. Набор зависит от состояния:
остановленному предлагают Start, запущенному — Stop / Pause / Restart / Kill,
на паузе — Unpause / Stop. Kill и удаление требуют подтверждения;
контейнер docker-stat защищён от остановки и удаления. Пока действие
выполняется, на ноде виден прогресс.
Раскладка и группы
- Проекты раскладываются автоматически; ноды и кластеры можно двигать. С зажатым
Alt— привязка к сетке 20 px. - Кластер сворачивается кликом по шапке и перетаскивается за неё.
- Кнопка ↺ Reset возвращает авто-раскладку; пресеты (Layout в верхней панели) сохраняют позиции и свёрнутые проекты на сервере и переживают пересоздание контейнеров.
Ctrl/Cmd+ZиCtrl/Cmd+Shift+Z— отмена и повтор перемещений и сворачиваний (до 50 действий).
Поиск, фильтры и управление видом
- Поле поиска на канвасе ищет по всем полям, циклически переходит по совпадениям и делает
fitView. - Там же можно скрыть контейнеры: их тома скрываются каскадом; выбор запоминается в браузере.
- Миникарта, рамка выделения (
Shift+ перетаскивание), экспорт SVG (Enterprise;Shift— весь граф целиком, иначе видимая область).
Колокольчик
Колокольчик читает те же активные алерты, что и вкладка Alerts: любая
пульсация на графе — следствие правила, а не отдельного расчёта на клиенте.
Клик по алерту центрирует ноду и включает фокус по её стеку; бейдж
CVE N ведёт в раздел уязвимостей с фильтром по образу. Новый алерт
сопровождается коротким звуком; Mute выключает звук, первый снапшот после
загрузки страницы всегда беззвучный.
История и сравнение срезов
Клик по LIVE открывает историю (/#/history). Внизу —
док с временной шкалой снапшотов и переключателем на поиск по графу.
- Срез — состояние графа на момент изменения. Выберите его на шкале, чтобы увидеть прошлое; вернуться к живому графу можно индикатором
HISTORY. - Сравнить срезы — кнопка Compare показывает добавленные, удалённые и изменённые контейнеры, сети и тома.
- Логи на момент среза — в меню контейнера: вместе со срезом сохраняется хвост логов, поэтому исторические логи доступны даже после
compose down. - AI-разбор среза — кнопка Оценить на исторической странице; заключение привязано к срезу, а не к «сейчас».
Глубина истории и строк задаётся на контуре: Настройки контура → Наблюдаемость → Данные и хранение (дни и максимум строк, 1 час – 365 дней).
AI-анализ
AI — функция Enterprise (ai в лицензии). В портале ключ и вызовы
живут на портале и в контуры не передаются; в standalone — на самом контуре.
Включается и настраивается в Настройки → AI и прогноз.
| Действие | Где | Профиль |
|---|---|---|
| Оценить — заключение по всему графу | Кнопка в правом нижнем углу графа | triage |
| Explain через AI — разбор узла | ПКМ по контейнеру/сети/тому | triage |
| Анализ стека с AI — образ, слои, зависимости, CVEs | ПКМ по контейнеру | security |
| Разбор образа или находки | Раздел «Безопасность» | security |
| Разбор исторического среза | Страница истории | postmortem |
Панель анализа умеет:
- стримить ответ и раскладывать его на секции Summary / Risks / Suggestions с тегами важности;
- показывать последнее сохранённое заключение без вызова модели — Regenerate запускает новый прогон, Stop прерывает;
- копировать текст и экспортировать самостоятельный HTML с встроенными стилями;
- удалять заключение.
В модель уходят имена, топология, метрики и метаданные compose; значения переменных окружения не передаются. Логи считаются чувствительными: редакция секретов включена по умолчанию, но остаётся best-effort. В портале действует ограничение частоты — не чаще 10 запросов в минуту.
Алерты и инциденты
Где смотреть
- Колокольчик на графе — активные алерты и критические находки.
- Аудит → Alerts — активные алерты, история переходов
firing/resolved/silenced, фильтры по важности, статусу, объекту. - Аудит → Deliveries — попытки вебхуков: статус, число попыток, последняя ошибка.
Правило имеет вид alert или finding. Alert открывает
инцидент, звучит и уходит в доставку; finding — постоянный риск: он виден в
колокольчике, на графе и в Alerts, но не создаёт инцидент и не отправляется.
Встроенные правила
Они вычисляются всегда, а пороги задаются в Настройки → Алерты: нездоровые контейнеры, остановленные, перезапускающиеся, CPU и RAM хоста, устаревший сбор, прогноз ETA. Там же — порог CPU/RAM в процентах и «грейс», сколько условие должно держаться до уведомления.
Правило «Прогноз ETA»
Это правило превращает прогноз в алерт. Его параметры — горизонт
(по умолчанию 72 часа, 1–720) и минимальная уверенность (по умолчанию
medium). Если модель ждёт достижения порога раньше горизонта и
уверенность не ниже выбранной, появляется алерт уровня warning
(а если ETA меньше суток — critical).
Пример: Forecast: backup_age · local со значением 42.1 / 72
и confidence high означает, что при текущем тренде возраст бэкапа
дойдёт до порога через ~42 часа. Это не ошибка: проверьте расписание бэкапов
и сам том. Если предупреждение слишком раннее — уменьшите горизонт или поднимите
минимальную уверенность; если шумно из-за известного окна — поставьте тишину.
Свои правила
Настройки → Алерты → Правила — таблица правил и форма создания. Поля:
идентификатор (источник.метрика), имя, источник, селектор
(name, project, label.…, field.…),
метрика, оператор, порог, «для» в секундах (0 — сразу), важность и включённость.
| Источник | Метрики |
|---|---|
container | container.cpu (%), container.memory (%), container.restart_count |
host | host.disk_percent (%) |
volume | volume.growth_bytes_per_hour |
backup | backup.age (часы) |
tls | tls.cert_expiry_days |
compose | compose.drift |
vuln | vuln.new_critical, vuln.new_high_fixable, vuln.critical_findings, vuln.high_findings |
Из коробки включено только правило критических находок; остальные шаблоны (CPU 90% за 5 минут, диск 90%, рост тома 1 ГБ/ч, бэкап старше 26 ч, сертификат истекает через 14 дней, drift, новые CVE) выключены и включаются осознанно.
Тишина (silence)
В таблице правил у строки есть действие Тишина. Укажите длительность (1 час, 4 часа, 24 часа, 7 дней или своё время) и комментарий: правило не будет уведомлять до окончания окна. Тишина истекает сама; история переходов остаётся.
Доставка
- Настройки → Алерты: URL вебхука, секрет подписи (HMAC-SHA256, заголовок
X-Digraph-Signature), кнопка Отправить тест. - Тумблер Алерты и вебхуки отвечает только за доставку. Состояние и история пишутся всегда, поэтому граф и Alerts работают и без вебхука.
- Docker- и API-события пересылаются всегда. Неудачные попытки повторяются; результат виден в Deliveries.
- Watchdog доступности контуров — отдельно, в Настройки портала → Доступность контуров (Enterprise): generic webhook, Slack, PagerDuty или SMTP.
Уязвимости
Пункт меню Безопасность (/#/security) — доска риска по образам.
Таблица отсортирована по приоритету: критические находки на «открытом» образе
с доступным фиксом идут первыми. «Открытый» — эвристика: опубликованный порт,
host network или внешняя сеть, а не обещание доступа из интернета.
- Scan all — полное сканирование (оператор и выше); Retry failed — только образы, где прошлая попытка упала.
- Фильтры: минимальная severity, Exposed, Has fix, поиск по образу или CVE, сортировка, показ устаревших образов.
- Строка образа раскрывается в список находок с пакетами и версиями фиксов.
- AI-разбор доступен для образа и для отдельной находки.
- Бейдж
CVE Nна графе открывает эту страницу с фильтром по образу; правилоvuln.*может прислать алерт.
Сканирование включается в Настройки контура → Безопасность: тумблер сканирования, авто-скан в AI-анализе стека, интервал фонового прохода, TTL кэша, минимальная severity и число хранимых отчётов. Там же — статус сканера, версия Trivy и дата базы уязвимостей.
Аудит и события
/#/events — единый журнал. Вкладки зависят от роли; фильтры принадлежат
вкладке и сбрасываются при переключении.
| Вкладка | Кому | Что внутри |
|---|---|---|
| Activity | Все | Docker-события и действия через API: время, источник, действие, автор, деталь, IP клиента. Поиск и фильтр по источнику. |
| Действия API | Администратор | Кто что изменил: роль, фильтры по пользователю/действию/времени, diff before/after, экспорт CSV. |
| Alerts | Все | Активные алерты и история переходов. |
| Deliveries | Все | Очередь вебхуков и ошибки доставки. |
| Docker API | Администратор | Только отказы и мутирующие вызовы прокси: метод, путь, решение, причина, IP. |
В меню у пункта Безопасность появляется счётчик новых отказов DENIED
после последнего визита на Аудит → Docker API.
Compose-проекты
Раздел /#/projects выключен по умолчанию: включите Проекты в
Настройки контура → Доступ → Разделы. Нужен работающий sidecar
compose-runner и права compose на контуре.
- Новый проект: имя (только буквы и цифры), YAML compose-файла или загрузка файла.
- Visual editor рядом с редактором: канвас сервисов, связи по
depends_on, инспектор (образ, порты, тома, env, зависимости), авто-раскладка и Apply to YAML. Незнакомые ключи и длинный синтаксис сохраняются. - Up / Down запускаются фоновой задачей; кнопка отмены прерывает её.
- История задач хранит статус, время, ошибку и хвост вывода — переживает рестарт.
- Предпросмотр графа показывает контейнеры проекта и их состояние.
Создание, изменение и удаление файлов проекта — действие администратора; запуск и остановка — оператора. Удаление проекта необратимо.
Секреты
Раздел /#/secrets включается в Настройки контура → Доступ → Разделы.
Секрет — именованный JSON, зашифрованный AES-256-GCM; ключ данных у каждой записи
свой, при заданном SECRET_MASTER_KEY он оборачивается мастер-ключом.
- Новый секрет: имя проекта (уникальное), содержимое JSON, привязка к контейнерам (имена через запятую), режим доставки.
- File — файл по указанному пути или
/run/secrets/<project>.json. - Env —
/etc/profile.d/<project>.shсexport …; влияет на новые shell-сессии, поэтому в контейнере нуженsource. - Доставка выполняется автоматически при старте привязанного контейнера и после переподключения к Docker; вручную — кнопкой Push to container.
Если rootfs контейнера только для чтения, укажите writable-путь или tmpfs, иначе
push отклоняется. Env-режим всё равно пишет файл. /bin/sh обязателен:
distroless и scratch не поддерживаются.
Бэкапы и восстановление
Раздел включается тумблером Настройки контура → Безопасность → Автоматические
бэкапы; до этого страница и API недоступны. Архив
docker-stat-backup-<ISO>.tar.gz содержит манифест, SQLite-базу
(снимается через VACUUM INTO) и каталог compose-проектов; каждый файл
проверяется по SHA-256. Bootstrap-секреты из /run/secrets и кэш Trivy
в архив не попадают.
- Расписание: интервал 1–168 ч и хранение 1–50 архивов; страница показывает размер архивов и базы.
- Сделать бэкап / Скачать / удалить архив — администратор.
- Восстановление двухфазное: архив проверяется и раскладывается рядом, а живая база заменяется только на следующем старте, до открытия БД. Текущая база сохраняется как
docker-stat.db.pre-restore-<ISO>. - Для restore нужны
BACKUP_RESTORE_ENABLED=trueи ввод словаRESTOREв диалоге. После подготовки перезапустите контур — страница покажет, что восстановление ожидает рестарта.
Пользователи
В портале — Настройки портала → Пользователи (или /#/users);
в standalone — /#/users на контуре. Управляет только администратор.
- Поля: логин, отображаемое имя, роль, признак «отключён».
- Пароль генерируется автоматически; его можно показать, скопировать и перегенерировать. Пароли хранятся в виде хеша и показываются только владельцу портала через явное действие.
- Нельзя удалить или отключить последнего активного администратора.
- Удаление пользователя снимает его с контуров и серверов, где он был ответственным.
- Аварийный вход по
PORTAL_TOKENостаётся администратором независимо от списка аккаунтов.
Настройки
Настройки разделены на два уровня. Значения хранятся в базе соответствующего приложения, переменные окружения остаются фолбэком; большинство применяется без перезапуска.
Портал
| Раздел | Что настраивается |
|---|---|
| Портал | Статус, версия, режим входа, наличие токенов и мастер-ключа; карточка лицензии. |
| AI и прогноз | Включение AI, URL API, модель, язык ответа, ключ (хранится зашифрованным). Enterprise. |
| Единый вход | OIDC: issuer, client id/secret, redirect URL, scopes, allowlist, текст кнопки, роль новых аккаунтов. Enterprise. |
| Доступность контуров | Watchdog /api/ready: интервал, порог отказов, формат доставки, webhook/Slack/PagerDuty, SMTP, уведомление о восстановлении. Enterprise. |
| Пользователи | Аккаунты, роли, пароли. |
Контур
| Раздел | Что настраивается |
|---|---|
| Доступ | Мастер-ключ и его ротация, разделы (Проекты, Секреты), OIDC, роль по умолчанию. |
| AI и прогноз | Ключ и модель AI; параметры прогноза: кэш, окна и пороги диска/тома/памяти, рестарты, возраст бэкапа, сертификат. Enterprise. |
| Наблюдаемость | Захват логов со срезами, редакция секретов, лимиты хранения логов; интервалы сбора графа и метрик; телеметрия контейнеров/дисков/томов; кэш томов; глубина истории и метрик. |
| Алерты | Вебхук, секрет подписи, тест; пороги CPU/RAM и грейс; горизонт и уверенность прогноза; таблица правил. |
| Безопасность | Сканирование уязвимостей и его параметры; автоматические бэкапы. |
| Развёртывание | IP и алиас на дашборде, права (PRIVILEGES), внутренний токен, мастер-ключ, статус sidecar'ов, разрешённые Origin. Привилегии задаются в compose и здесь только отображаются. |
Лицензия и редакции
Один образ работает в двух редакциях: без ключа — Community, с ключом — Enterprise. Гейт стоит и в UI, и в API, поэтому обход через DevTools не даёт функций.
| Возможность | Community | Enterprise |
|---|---|---|
| Граф, история, аудит, алерты контура, Trivy, compose, секреты, бэкапы | Да | Да |
| Контуры и серверы | до 3 / до 15 | по лимитам ключа |
| Карта инвентаря (Карточки / Карта) | — | Да |
AI-анализ (ai) | — | Да |
Прогноз и панель рисков (forecast) | — | Да |
OIDC SSO (sso) | — | Да |
Watchdog доступности (availability) | — | Да |
| Экспорт графа в SVG | — | Да |
Ключ вставляется в Настройки портала → Портал → Лицензия, сохраняется в базе
портала и копируется в управляемые контуры. Если ключ задан через
LICENSE_KEY или LICENSE_FILE, поле становится read-only.
Состояния: valid — всё доступно; trial — функции есть, но
показан остаток дней; grace — истекла ≤ 30 дней назад, функции работают
с баннером; expired — портал только для чтения; missing /
invalid — режим активации. Данные при истечении не удаляются.
Жесты и горячие клавиши
| Действие | Результат |
|---|---|
| Клик по ноде графа | Подсветить зависимости (повторный клик — снять) |
| ПКМ по ноде | Меню узла и действия жизненного цикла |
| Двойной клик по серверу на дашборде или карте | Подключиться и открыть живой граф |
| Двойной клик по контуру на карте | Открыть фокус контура |
| Перетаскивание ноды / шапки кластера | Свободная раскладка / перенос проекта |
Alt + перетаскивание | Привязка к сетке 20 px |
Shift + рамка | Групповое выделение |
Shift + экспорт SVG | Экспорт графа целиком, а не видимой области |
Ctrl/Cmd+Z / Ctrl/Cmd+Shift+Z | Отменить / повторить перемещение и сворачивание |
Esc | Снять фокус, закрыть меню или диалог |
| Колесо / pinch | Зум; масштаб ограничен 1:1 |
Типовые сценарии
Подключить новый сервер
- Дашборд → меню нужного контура → Добавить сервер.
- Укажите имя, адрес контура (
http(s)://host:9090), контур и ответственного. - Оставьте ключ пустым, если он уже в общем конфиге, иначе вставьте ключ доступа.
- Нажмите Добавить. Если ключ принят, откроется граф; если нет — исправьте ключ по сообщению.
Разобрать инцидент
- Колокольчик на графе → выберите алерт: нода подсветится в фокусе.
- ПКМ по контейнеру → Логи; при необходимости Терминал или Инспекция.
- Сравните с прошлым:
LIVE→ история → Compare и Логи на момент среза. - Нажмите Оценить или Explain через AI, чтобы получить разбор и рекомендации; сохраните заключение через Export HTML, если нужно приложить к инциденту.
- Если шум ожидаемый — поставьте тишину на правило или объект.
Разобрать уязвимости
- Безопасность → Scan all (первый прогон) или дождитесь фонового sweep.
- Включите Has fix и Exposed, отсортируйте по приоритету.
- Раскройте образ: пакеты, версии, доступные фиксы. Запустите AI-разбор находки.
- Обновите образ и пересоберите контейнер; бейдж
CVE Nна графе исчезнет после следующего скана.
Сравнить состояние до и после деплоя
LIVE→ история; выберите срез до деплоя.- Compare и укажите второй срез (после деплоя).
- Проверьте добавленные/удалённые контейнеры, сети и тома.
- Запустите AI-разбор среза — профиль
postmortemотвечает на вопрос «что изменилось и чем это рискованно».
Обновить сервис через проект
- Проекты → выберите проект → отредактируйте YAML (или образ в визуальном редакторе) → Сохранить.
- Нажмите Up; дождитесь завершения задачи в истории (статус и вывод).
- Вернитесь на граф: изменения придут по WebSocket. Если контейнер не поднялся — смотрите логи.
- Нужен откат — верните предыдущий compose и снова Up (или восстановите проект из бэкапа).
Восстановить базу из бэкапа
- Убедитесь, что на контуре задан
BACKUP_RESTORE_ENABLED=true. - Бэкапы → выберите архив (локальный или загрузите файл) → Restore.
- Введите
RESTOREи подтвердите: архив проверится и подготовится к подмене. - Перезапустите контур. Прежняя база останется рядом как
docker-stat.db.pre-restore-….
Ограничения и важные нюансы
- Community ограничивает инвентарь тремя контурами и пятнадцатью серверами; AI, прогноз, SSO, watchdog, карта и экспорт SVG требуют Enterprise.
- Наблюдатель нигде не меняет состояние; кнопки действий у него скрыты, а API отвечает
403. - Если на контуре выключены
actions/exec/compose/secret push, соответствующие кнопки недоступны даже администратору. - Состояние алертов пишется всегда; тумблер вебхуков влияет только на доставку.
- Прогнозу нужна история: сразу после установки панель покажет «недостаточно данных», пока не накопится окно наблюдения.
- Restore не выполняется работающим процессом — обязателен рестарт; без второго предохранителя страница показывает только создание и скачивание.
- Редакция секретов в логах — best-effort: логи всё равно считаются чувствительными.
- Ноды карты инвентаря не перетаскиваются — раскладка общая для всех.
- Auth-состояние (сессии, OIDC-флоу, одноразовые коды) живёт в памяти процесса: работает один экземпляр.
Куда дальше
- Установка — образы, compose, обновление версии.
- Секреты, бэкапы, алерты — эксплуатационные сценарии и ограничения.
- Безопасность — границы доверия, токены, TLS, SSO, аудит.
- REST API — автоматизация и интеграции.
- Диагностика — 401/403/502, пустой граф, WebSocket, push секретов.