Работа с выделенными репозиториями в Git Sync

Note

Функциональность Git Sync постоянно развивается. Свяжитесь с Grafana, чтобы получить поддержку, сообщить о возникших проблемах и помочь нам улучшить эту функцию.

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

  1. Войдите на свой сервер Grafana с учётной записью, у которой установлен флаг Grafana Admin.
  2. Выберите Administration > General > Provisioning в меню слева, чтобы открыть экран настройки Git Sync.
  3. Перейдите на вкладку Repositories и найдите репозиторий, с которым хотите работать. Вы можете просмотреть текущее состояние синхронизации, выполнить pull или обновить свои настройки.

Дополнительные сведения о работе с выделенными файлами см. в разделе Работа с выделенными дашбордами.

Просмотр текущего состояния вашего синхронизируемого репозитория

Используйте раздел View, чтобы увидеть подробную информацию о текущем состоянии синхронизации и устранить возможные проблемы:

  • Вкладка Overview содержит информацию о состоянии подключения вашего репозитория к Grafana, параметрах конфигурации, таких как вебхуки, или информацию о процессах Git.

  • Вкладка Resources перечисляет выделенные ресурсы подключения.

Устранение неполадок синхронизации

Note

Прежде чем приступать к устранению неполадок, ознакомьтесь с известными ограничениями использования и производительности.

Следите за проблемами синхронизации и обновлениями состояния на странице состояния View. Страница состояния отображает следующие события:

  • Sync started: процесс синхронизации начался.
  • Sync completed: процесс синхронизации успешно завершён.
  • Sync failed: процесс синхронизации завершился с ошибкой. Обратитесь к сведениям об ошибке для устранения неполадок.
  • Sync issues: в процессе синхронизации возникли проблемы.

Ошибки синхронизации дашбордов

  • Repository URL: если дашборды не синхронизируются, убедитесь, что URL репозитория указан верно и доступен из экземпляра Grafana.
  • Repository branch: убедитесь, что настроенная ветка репозитория существует и на неё правильно указана ссылка.
  • Conflicts: проверьте наличие конфликтов в репозитории, которые могут препятствовать синхронизации.

Ошибки импорта дашбордов

  • Проверьте формат JSON файлов дашбордов перед импортом.
  • Если импорт завершается с ошибкой, проверьте журналы Grafana на наличие сообщений об ошибках и устраните неполадки соответственно.

Синхронизация изменений

Чтобы синхронизировать ресурсы между выделенными репозиториями и вашим экземпляром Grafana, нажмите Pull под репозиторием, который хотите синхронизировать. Процесс синхронизации запускается и завершается.

Grafana перезаписывает существующие дашборды с тем же uid.

Обновление или удаление ваших настроек

Чтобы обновить или удалить конфигурацию вашего репозитория после завершения настройки:

  1. Войдите на свой сервер Grafana с учётной записью, у которой установлен флаг Grafana Admin.
  2. Выберите Administration > General > Provisioning.
  3. Перейдите на вкладку Repositories и найдите репозиторий, который хотите изменить.
  4. Выберите Settings, чтобы открыть экран Configure repository:
  • Чтобы изменить конфигурацию, обновите любые из настроек и выберите Save.
  • Чтобы удалить репозиторий, нажмите Delete. Вы можете либо сохранить синхронизированные ресурсы, либо удалить их.

Note

Изменения могут появиться на экране через несколько минут. Если этого не произошло, обновите интерфейс вручную.

Управление правами доступа к папкам

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

Роль Grafana Право доступа к папке
Admin Admin
Editor Editor
Viewer Viewer

Чтобы понять, как работают и настраиваются права доступа в Git Sync, см. раздел Права доступа Git Sync.

Изменение прав доступа к папкам

Note

Чтобы изменить права доступа, каждая выделенная папка должна содержать файл метаданных _folder.json, который даёт папке стабильный UID. Без него права доступа к папке будут потеряны, если вы переместите или переименуете эту папку в репозитории Git. Сведения об этом файле и причинах его существования см. в разделе Файл метаданных папки Git Sync.

Права доступа к папкам привязаны к UID папки (хранящемуся в _folder.json), а не к её пути в репозитории, поэтому вы можете задать их только после того, как Git Sync создаст папку. Чтобы добавить или изменить права доступа к папке:

Файл метаданных папки Git Sync

Каждая выделенная папка в синхронизируемом репозитории содержит в своём корне файл метаданных _folder.json. Этот файл является манифестом папки: он хранит стабильный UID папки и её отображаемое имя, поэтому и то, и другое сохраняется при изменениях структуры репозитория.

Файл существует потому, что путь к каталогу не является стабильным идентификатором. Без _folder.json Grafana выводит UID папки из хеша пути к каталогу в репозитории. Если вы переместите или переименуете этот каталог в Git, хеш изменится, и Grafana будет рассматривать его как другую папку: всё, что было привязано к старому UID, например пользовательские права доступа к папкам, закладки и ссылки в API, будет потеряно. С _folder.json UID перемещается вместе с каталогом, поэтому вы можете реорганизовать репозиторий, не нарушая права доступа и ссылки.

Файл также отделяет отображаемое имя папки от имени каталога. Каталог сохраняет дружественное к файловой системе имя, например team-platform, а поле spec.title содержит имя, отображаемое в интерфейсе Grafana, например Team Platform.

Grafana управляет этим файлом за вас:

  • Когда вы создаёте выделенную папку из интерфейса Grafana, Git Sync фиксирует файл _folder.json вместе с папкой.
  • Когда вы переименовываете папку в Grafana, Git Sync обновляет поле spec.title в файле.
  • Если в папке отсутствует этот файл, например потому что вы создали каталог напрямую в Git, Grafana возвращается к UID, выведенному из хеша, и показывает в интерфейсе предупреждение с инструкциями о том, как добавить недостающие метаданные.

Файл имеет следующий формат:

JSON
{
  "apiVersion": "<API_VERSION>",
  "kind": "Folder",
  "metadata": {
    "name": "<FOLDER_UID>"
  },
  "spec": {
    "title": "<FOLDER_UI_NAME>"
  }
}

Где:

  • <API_VERSION> — версия API папок. Например, folder.grafana.app/v1.
  • <FOLDER_UID> — стабильный UID папки, который Grafana использует для прав доступа, закладок и ссылок в API. Считайте это значение неизменяемым: Grafana отклоняет изменения UID папки, а изменение его напрямую в Git разрывает связь между каталогом и существующей папкой Grafana с теми же последствиями, что и отсутствие файла метаданных.
  • <FOLDER_UI_NAME> — отображаемое имя, показываемое в интерфейсе Grafana. Это поле необязательно. Если оно не задано, Grafana вместо него использует имя каталога.