Menu
Git Sync с региональной репликацией
Разверните несколько экземпляров Grafana в разных регионах. Синхронизируйте их с одним и тем же расположением в Git, чтобы обеспечить одинаковые дашборды везде.
Когда использовать
- Географическое распределение: вы разворачиваете Grafana ближе к пользователям в разных регионах.
- Снижение задержки: пользователям нужен быстрый доступ к дашбордам из их региона.
- Суверенитет данных: вы храните данные дашбордов в определённых регионах.
- Высокая доступность: вам нужна доступность дашбордов в разных регионах.
- Единообразный опыт: все пользователи видят одни и те же дашборды независимо от региона.
Архитектура
┌─────────────────────────────────────────────────────┐
│ GitHub Repository │
│ Repository: your-org/grafana-manifests │
│ Branch: main │
│ │
│ grafana-manifests/ │
│ └── shared/ │
│ ├── dashboard-global.json │
│ ├── dashboard-metrics.json │
│ └── dashboard-logs.json │
└─────────────────────────────────────────────────────┘
↕ ↕
Git Sync (shared/) Git Sync (shared/)
↕ ↕
┌────────────────────┐ ┌────────────────────┐
│ US Region │ │ EU Region │
│ Grafana │ │ Grafana │
│ │ │ │
│ Repository: │ │ Repository: │
│ - path: shared/ │ │ - path: shared/ │
└────────────────────┘ └────────────────────┘
Структура репозитория
В Git:
your-org/grafana-manifests
└── shared/
├── dashboard-global.json
├── dashboard-metrics.json
└── dashboard-logs.json
В представлении Dashboards в Grafana (все регионы):
Dashboards
└── 📁 grafana-manifests/
├── Global Dashboard
├── Metrics Dashboard
└── Logs Dashboard
- Все региональные экземпляры (US, EU и т. д.) показывают идентичную структуру папок
- Одинаковое имя папки «grafana-manifests» в каждом регионе
- Одни и те же дашборды, синхронизированные из пути
shared/, отображаются везде - Пользователи в любом регионе видят абсолютно одинаковые дашборды с одинаковыми заголовками
Параметры конфигурации
Все регионы:
- Repository:
your-org/grafana-manifests - Branch:
main - Path:
shared/
Как это работает
- Все региональные экземпляры подтягивают дашборды из
shared/. - Изменения из любого региона фиксируются в Git.
- Другие регионы подтягивают обновления во время следующей синхронизации (или через вебхуки).
- Изменения распространяются по регионам в соответствии с интервалом синхронизации.
Особенности
- Конфликты записи: если пользователи в разных регионах одновременно изменяют один и тот же дашборд, Git применяет правило «побеждает последняя запись».
- Основной регион: рассмотрите возможность назначить один регион основным местом для внесения изменений в дашборды.
- Время распространения: изменения распространяются на все регионы в течение настроенного интервала синхронизации или мгновенно, если настроены вебхуки.
- Надёжность сети: убедитесь, что все регионы имеют надёжное подключение к репозиторию Git.