Введение в Git Sync

Git Sync в Grafana позволяет синхронизировать ваши ресурсы, чтобы хранить дашборды в виде JSON-файлов в любом провайдере Git и управлять ими как кодом. Вы и ваша команда можете эффективно контролировать версии, совместно работать и автоматизировать развёртывания.

Note

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

Как это работает

Git Sync позволяет связывать внешние ресурсы с вашим экземпляром Grafana. После настройки все синхронизированные ресурсы находятся в Git в папке provisioned, а несинхронизированные ресурсы вы можете по-прежнему хранить вне этой папки.

Git Sync двунаправлен. Вы можете изменять выделенные ресурсы как из интерфейса Grafana, так и из синхронизированного репозитория, и изменения будут отражены в обоих местах.

Git Sync доступен для любого провайдера Git через тип репозитория Pure Git и имеет специальные расширенные интеграции для GitHub, GitHub Enterprise, GitLab и Bitbucket. Дополнительные сведения, включая тарифные уровни использования, см. в разделе Ограничения использования и производительности.

Дополнительную информацию о том, как работает Git Sync, см. в разделе ключевые концепции.

Внесение изменений в интерфейсе Grafana

Каждый раз, когда вы изменяете дашборд непосредственно в интерфейсе, вы также можете зафиксировать эти изменения в синхронизированных репозиториях Git при сохранении. Вы можете настроить параметры так, чтобы либо требовать одобрения PR перед слиянием в вашем репозитории, либо разрешить прямые коммиты.

Внесение изменений в репозиториях Git

Ваш экземпляр Grafana опрашивает выделенные ресурсы Git для синхронизации. Если вы внесли изменения в синхронизированные репозитории Git, они будут обновлены и в базе данных Grafana. Интерфейс Grafana читает данные из базы данных и обновляет интерфейс, чтобы отразить эти изменения.

  • Без вебхуков Grafana опрашивает изменения с заданным интервалом. Интервал опроса по умолчанию — 60 секунд, и вы можете изменить этот параметр в интерфейсе Grafana.
  • Если вы включите функцию вебхуков, уведомления репозитория появляются почти сразу.

Типичные сценарии использования

Note

Примеры сценариев, включая сведения об архитектуре и конфигурации, см. в разделе Сценарии развёртывания Git Sync.

Git Sync можно использовать в следующих сценариях:

Контроль версий и аудит

Организации могут вести структурированную историю дашбордов Grafana под управлением версий. Контроль версий позволяет при необходимости возвращаться к предыдущим версиям, сравнивать изменения между коммитами и обеспечивать прозрачность управления дашбордами.

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

Автоматизированное развёртывание и интеграция с CI/CD

Команды могут оптимизировать свой рабочий процесс, интегрируя обновления дашбордов в свои конвейеры CI/CD. Отправляя изменения в GitHub, автоматизированные процессы могут запускать проверки валидации, тестировать конфигурации дашбордов и развёртывать обновления программно с помощью CLI gcx и Foundation SDK.

Это снижает риск человеческих ошибок, обеспечивает согласованность между средами и позволяет быстрее и надёжнее выпускать дашборды, используемые для производственного мониторинга и аналитики.

Совместная разработка дашбордов

С Git Sync несколько пользователей могут одновременно работать над дашбордами, не перезаписывая изменения друг друга. Используя pull request’ы и рабочие процессы на основе веток, команды могут отправлять изменения на проверку перед слиянием в основную ветку. Этот процесс не только улучшает контроль качества, но и гарантирует, что дашборды соответствуют лучшим практикам и организационным стандартам.

Кроме того, встроенные инструменты обсуждения и проверки GitHub способствуют эффективному сотрудничеству, упрощая работу с обратной связью до того, как изменения попадут в продакшн.

Синхронизация между средами

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

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

Аварийное восстановление и резервное копирование

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

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

Создание дашбордов как кода

Поскольку дашборды определяются в JSON-файлах, вы можете включить рабочие процессы as-code, где JSON-файл является результатом работы кода на Go, TypeScript или другом языке программирования в формате схемы дашборда.

Чтобы узнать больше о создании дашбордов на языке программирования для их выделения в Git Sync, обратитесь к документации Foundation SDK.

Изучение Git Sync

Обратитесь к следующим документам, чтобы подробно изучить Git Sync: