Перейти к основному содержимому

Эксплуатация дашборда

Рабочие проверки и восстановление данных дашборда, истории, сохранённых представлений и уведомлений. См. примеры и проверки перед применением.

Руководства

Этот runbook описывает операции именно с дашбордом: проверку актуальности поверхности проекта, первичную настройку уведомлений, сохранение воспроизводимых представлений и сравнение истории. Телеметрия хостов и сервисов описана в руководстве по мониторингу.

Выполняйте команды из репозитория CodeGraph с той же конфигурацией runtime и областью проекта, которые использует API.

1. Установить basis проекта

python -m src.cli dashboard health <project> --format json
python -m src.cli dashboard basis <project> --format json

Проверяйте вместе проект, ревизию доказательств, basis анализа, доступность балла и свежесть. Успешно завершившаяся команда с состоянием stale, missing, failed или unknown — это диагностический результат, а не доказательство готовности.

Если поверхность возвращает рекомендованную команду, сначала убедитесь, что refresh_supported = true, а action_availability = available. При updating наблюдайте текущую задачу и не запускайте дубликат. При failed сохраните идентификатор задачи и причину ошибки до повтора.

2. Инициализировать уведомления проекта

Аргумент проекта обязателен:

python -m src.cli dashboard notifications bootstrap <project> --format json

Параметры --channel, --delivery-mode, --events и --minimum-severity должны соответствовать одобренной политике получателя. Чувствительные детали исключены, пока --include-sensitive-details не потребуется и не будет разрешён.

Ответ bootstrap доказывает конфигурацию. Для полноценного эксплуатационного доказательства также нужно событие успешной доставки из рабочего контура; одной тестовой отправки недостаточно.

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

python -m src.cli dashboard saved-views list --format json

Перед повторяющимся сравнением или экспортом сохраните идентификатор представления, владельца, область, фильтры и период. Сохранённые представления привязаны к пользователю: нельзя считать, что другой вошедший пользователь может их прочитать или переиспользовать.

Текущие REST-чтения:

  • GET /api/v1/traceability/saved-views;
  • GET /api/v1/traceability/subscriptions.

Для обоих требуется аутентификация API и подходящая область проекта и пользователя.

4. Сравнить историю

Для одного проекта:

python -m src.cli dashboard compare-periods <project> --format json

Для автоматизации по портфелю используйте GET /api/v1/traceability/portfolio/compare-periods с теми же фильтрами, базовым и сравниваемым периодами, что и в сохранённом представлении. Это операция чтения. Сохраните селекторы вместе с результатом, чтобы его можно было воспроизвести.

5. Передать инцидент

Зафиксируйте:

  • проект и группу;
  • текущий commit или идентификатор развёрнутого образа;
  • маршрут или команду с очищенными параметрами;
  • состояние и причину свежести;
  • идентификатор и этап активной задачи, если они есть;
  • сохранённое представление и периоды;
  • событие доставки, если инцидент связан с уведомлениями.

Не включайте токены доступа, секреты получателей, сырые приватные замечания и пути хранилища.

Источники истины

  • src/cli/dashboard_commands.py — parser и выполнение команд дашборда.
  • src/api/routers/dashboard_core/dashboard_v2_history.py — сравнение периодов проекта и портфеля.
  • src/api/routers/dashboard_domains/dashboard_v2_notifications.py — сохранённые представления и подписки.
  • src/api/services/dashboard/surface_state/surface_freshness.py — состояние восстановления и поддерживаемые действия.

Карта рабочих областей находится в руководстве пользователя.