Работа с выделенными репозиториями в Git Sync
Note
Функциональность Git Sync постоянно развивается. Свяжитесь с Grafana, чтобы получить поддержку, сообщить о возникших проблемах и помочь нам улучшить эту функцию.
После синхронизации ресурсов Git Sync создаёт дашборд со сводкой о ресурсах, состоянии, статусе pull, вебхуках, заданиях синхронизации, ресурсах и файлах. Чтобы получить к нему доступ, выполните следующие шаги:
- Войдите на свой сервер Grafana с учётной записью, у которой установлен флаг Grafana Admin.
- Выберите Administration > General > Provisioning в меню слева, чтобы открыть экран настройки Git Sync.
- Перейдите на вкладку 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.
Обновление или удаление ваших настроек
Чтобы обновить или удалить конфигурацию вашего репозитория после завершения настройки:
- Войдите на свой сервер Grafana с учётной записью, у которой установлен флаг Grafana Admin.
- Выберите Administration > General > Provisioning.
- Перейдите на вкладку Repositories и найдите репозиторий, который хотите изменить.
- Выберите Settings, чтобы открыть экран Configure repository:
- Чтобы изменить конфигурацию, обновите любые из настроек и выберите Save.
- Чтобы удалить репозиторий, нажмите Delete. Вы можете либо сохранить синхронизированные ресурсы, либо удалить их.
Note
Изменения могут появиться на экране через несколько минут. Если этого не произошло, обновите интерфейс вручную.
Управление правами доступа к папкам
По умолчанию пользователи сохраняют свои роли в папках, выделенных с помощью Git Sync.
Чтобы понять, как работают и настраиваются права доступа в Git Sync, см. раздел Права доступа Git Sync.
Изменение прав доступа к папкам
Note
Чтобы изменить права доступа, каждая выделенная папка должна содержать файл метаданных
_folder.json, который даёт папке стабильный UID. Без него права доступа к папке будут потеряны, если вы переместите или переименуете эту папку в репозитории Git. Сведения об этом файле и причинах его существования см. в разделе Файл метаданных папки Git Sync.
Права доступа к папкам привязаны к UID папки (хранящемуся в _folder.json), а не к её пути в репозитории, поэтому вы можете задать их только после того, как Git Sync создаст папку. Чтобы добавить или изменить права доступа к папке:
- Из интерфейса выберите Folder actions > Manage permissions в правом верхнем углу.
- Через API обратитесь к Dashboard Permissions API.
- Как код с Terraform, используя UID папки из
_folder.json. Примеры для ручной настройки и Terraform см. в разделе Изменение прав доступа на уровне папки.
Файл метаданных папки 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, выведенному из хеша, и показывает в интерфейсе предупреждение с инструкциями о том, как добавить недостающие метаданные.
Файл имеет следующий формат:
{
"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 вместо него использует имя каталога.