Git Sync на одном экземпляре

Используйте один экземпляр Grafana, синхронизированный с репозиторием Git. Это основа Git Sync, и она помогает понять принцип двунаправленной синхронизации.

Когда использовать

  • Начало работы: вы хотите разобраться, как работает Git Sync, прежде чем реализовывать сложные сценарии.
  • Личные проекты: отдельные разработчики управляют своими дашбордами самостоятельно.
  • Небольшие команды: у вас простая конфигурация без нескольких сред и сложных рабочих процессов.
  • Среды разработки: вам нужны быстрое прототипирование и тестирование.

Архитектура

┌─────────────────────────────────────────────────────┐
│           GitHub Repository                         │
│   Repository: your-org/grafana-manifests          │
│   Branch: main                                      │
│                                                     │
│   grafana-manifests/                              │
│   └── grafana/                                     │
│       ├── dashboard-1.json                         │
│       ├── dashboard-2.json                         │
│       └── dashboard-3.json                         │
└─────────────────────────────────────────────────────┘
                        ↕
              Git Sync (bidirectional)
                        ↕
        ┌─────────────────────────────┐
        │    Grafana Instance         │
        │                             │
        │  Repository Resource:       │
        │  - url: grafana-manifests  │
        │  - branch: main             │
        │  - path: grafana/           │
        │                             │
        │  Creates folder:            │
        │  "grafana-manifests"       │
        └─────────────────────────────┘

Структура репозитория

В Git:

your-org/grafana-manifests
└── grafana/
    ├── dashboard-1.json
    ├── dashboard-2.json
    └── dashboard-3.json

В представлении Dashboards в Grafana:

Dashboards
└── 📁 grafana-manifests/
    ├── Dashboard 1
    ├── Dashboard 2
    └── Dashboard 3
  • Папка с именем «grafana-manifests» (по имени репозитория) содержит все синхронизированные дашборды.
  • Каждый JSON-файл становится дашбордом, а его заголовок отображается в папке.
  • Пользователи просматривают дашборды, организованные в этой структуре папок.

Параметры конфигурации

Настройте свой экземпляр Grafana для синхронизации с:

  • Repository: your-org/grafana-manifests
  • Branch: main
  • Path: grafana/

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

  1. Из Grafana в Git: когда пользователи создают или изменяют дашборды в Grafana, Git Sync фиксирует изменения в каталоге grafana/ ветки main.
  2. Из Git в Grafana: когда JSON-файлы дашбордов добавляются или изменяются в каталоге grafana/, Git Sync подтягивает эти изменения в Grafana.