Digraph Docs Docker Infrastructure Graph

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 меньше суток — критично, до недели — предупреждение.
  • Ниже списка — раскрывающийся блок «Недостаточно данных»: мало истории, не задан лимит, нет бэкапа, тренд плоский или падает.
  • Клик по строке открывает живой граф, где можно разобраться с объектом.

Создать контур

  1. Нажмите Контур и введите имя (dev, staging, prod…).
  2. При необходимости выберите Ответственного — администратора или оператора портала. Поле доступно администратору портала.
  3. Сохраните. Пустой контур сразу появится в списке.

Удаление контура не удаляет серверы: они остаются в группе Без контура. В Community действует лимит: 3 контура и 15 серверов. При превышении интерфейс показывает предупреждение, а API отвечает 409 limit_reached.

Добавить и подключить сервер

  1. Откройте меню карточки → Добавить сервер (или кнопку в пустой карточке).
  2. Заполните Имя, Адрес (http:// или https:// с портом), при желании Контур и Ответственного.
  3. Ключ доступа нужен, если контур не входит в общий конфиг; при общем конфиге ключ уже есть, и поле не показывается.
  4. Нажмите Добавить (новый) или Подключиться (существующий). Портал сохранит форму, проверит ключ на контуре и только потом переключит активный сервер.
Что видитеЧто произошлоЧто делать
Открылся живой графКлюч принят—
«Контур отклонил ключ»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 — сразу), важность и включённость.

ИсточникМетрики
containercontainer.cpu (%), container.memory (%), container.restart_count
hosthost.disk_percent (%)
volumevolume.growth_bytes_per_hour
backupbackup.age (часы)
tlstls.cert_expiry_days
composecompose.drift
vulnvuln.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 на контуре.

  1. Новый проект: имя (только буквы и цифры), YAML compose-файла или загрузка файла.
  2. Visual editor рядом с редактором: канвас сервисов, связи по depends_on, инспектор (образ, порты, тома, env, зависимости), авто-раскладка и Apply to YAML. Незнакомые ключи и длинный синтаксис сохраняются.
  3. Up / Down запускаются фоновой задачей; кнопка отмены прерывает её.
  4. История задач хранит статус, время, ошибку и хвост вывода — переживает рестарт.
  5. Предпросмотр графа показывает контейнеры проекта и их состояние.

Создание, изменение и удаление файлов проекта — действие администратора; запуск и остановка — оператора. Удаление проекта необратимо.

Секреты

Раздел /#/secrets включается в Настройки контура → Доступ → Разделы. Секрет — именованный JSON, зашифрованный AES-256-GCM; ключ данных у каждой записи свой, при заданном SECRET_MASTER_KEY он оборачивается мастер-ключом.

  1. Новый секрет: имя проекта (уникальное), содержимое JSON, привязка к контейнерам (имена через запятую), режим доставки.
  2. File — файл по указанному пути или /run/secrets/<project>.json.
  3. Env — /etc/profile.d/<project>.sh с export …; влияет на новые shell-сессии, поэтому в контейнере нужен source.
  4. Доставка выполняется автоматически при старте привязанного контейнера и после переподключения к 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 не даёт функций.

ВозможностьCommunityEnterprise
Граф, история, аудит, алерты контура, 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

Типовые сценарии

Подключить новый сервер

  1. Дашборд → меню нужного контура → Добавить сервер.
  2. Укажите имя, адрес контура (http(s)://host:9090), контур и ответственного.
  3. Оставьте ключ пустым, если он уже в общем конфиге, иначе вставьте ключ доступа.
  4. Нажмите Добавить. Если ключ принят, откроется граф; если нет — исправьте ключ по сообщению.

Разобрать инцидент

  1. Колокольчик на графе → выберите алерт: нода подсветится в фокусе.
  2. ПКМ по контейнеру → Логи; при необходимости Терминал или Инспекция.
  3. Сравните с прошлым: LIVE → история → Compare и Логи на момент среза.
  4. Нажмите Оценить или Explain через AI, чтобы получить разбор и рекомендации; сохраните заключение через Export HTML, если нужно приложить к инциденту.
  5. Если шум ожидаемый — поставьте тишину на правило или объект.

Разобрать уязвимости

  1. Безопасность → Scan all (первый прогон) или дождитесь фонового sweep.
  2. Включите Has fix и Exposed, отсортируйте по приоритету.
  3. Раскройте образ: пакеты, версии, доступные фиксы. Запустите AI-разбор находки.
  4. Обновите образ и пересоберите контейнер; бейдж CVE N на графе исчезнет после следующего скана.

Сравнить состояние до и после деплоя

  1. LIVE → история; выберите срез до деплоя.
  2. Compare и укажите второй срез (после деплоя).
  3. Проверьте добавленные/удалённые контейнеры, сети и тома.
  4. Запустите AI-разбор среза — профиль postmortem отвечает на вопрос «что изменилось и чем это рискованно».

Обновить сервис через проект

  1. Проекты → выберите проект → отредактируйте YAML (или образ в визуальном редакторе) → Сохранить.
  2. Нажмите Up; дождитесь завершения задачи в истории (статус и вывод).
  3. Вернитесь на граф: изменения придут по WebSocket. Если контейнер не поднялся — смотрите логи.
  4. Нужен откат — верните предыдущий compose и снова Up (или восстановите проект из бэкапа).

Восстановить базу из бэкапа

  1. Убедитесь, что на контуре задан BACKUP_RESTORE_ENABLED=true.
  2. Бэкапы → выберите архив (локальный или загрузите файл) → Restore.
  3. Введите RESTORE и подтвердите: архив проверится и подготовится к подмене.
  4. Перезапустите контур. Прежняя база останется рядом как docker-stat.db.pre-restore-….

Ограничения и важные нюансы

  • Community ограничивает инвентарь тремя контурами и пятнадцатью серверами; AI, прогноз, SSO, watchdog, карта и экспорт SVG требуют Enterprise.
  • Наблюдатель нигде не меняет состояние; кнопки действий у него скрыты, а API отвечает 403.
  • Если на контуре выключены actions/exec/compose/secret push, соответствующие кнопки недоступны даже администратору.
  • Состояние алертов пишется всегда; тумблер вебхуков влияет только на доставку.
  • Прогнозу нужна история: сразу после установки панель покажет «недостаточно данных», пока не накопится окно наблюдения.
  • Restore не выполняется работающим процессом — обязателен рестарт; без второго предохранителя страница показывает только создание и скачивание.
  • Редакция секретов в логах — best-effort: логи всё равно считаются чувствительными.
  • Ноды карты инвентаря не перетаскиваются — раскладка общая для всех.
  • Auth-состояние (сессии, OIDC-флоу, одноразовые коды) живёт в памяти процесса: работает один экземпляр.

Куда дальше