Grafana в Docker

Тема дорожной карты · Grafana

Запуск Grafana в Docker — самый быстрый способ получить рабочий экземпляр: достаточно одной команды docker run с официальным образом grafana/grafana из Docker Hub. Конфигурация передаётся через переменные окружения с префиксом GF_ — например, GF_SECURITY_ADMIN_PASSWORD задаёт начальный пароль администратора, а GF_SERVER_ROOT_URL — публичный URL — что делает развёртывание на основе Docker удобным без прямого редактирования grafana.ini. Чтобы дашборды и источники данных сохранялись между перезапусками контейнера, смонтируйте Docker-том или директорию хоста в путь /var/lib/grafana внутри контейнера. Для production-использования рекомендуется Docker Compose: он позволяет описать Grafana вместе с Prometheus и другими компонентами стека в одном файле docker-compose.yml, связав их в общей сети. Docker-образ Grafana также поддерживает автоматическое провизионирование при запуске путём монтирования YAML-файлов в /etc/grafana/provisioning/, что обеспечивает полностью автоматизированное, воспроизводимое развёртывание без какой-либо ручной настройки через интерфейс.

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

Grafana в Docker: Docker-образ (grafana/grafana), Helm chart (в kube-prometheus-stack или standalone), или distro-пакеты. Конфиг в grafana.ini (auth, database, smtp, log levels). State в SQLite по дефолту; переход на Postgres/MySQL — для multi-replica HA. Плагины через grafana-cli plugins install <name>. Provisioning (datasources, dashboards) через YAML-файлы в provisioning/ для воспроизводимых setup.

Когда применять

Docker-образ — для dev + маленького prod (с persistent volume для grafana.db + data/). Postgres + несколько реплик за load balancer — для production HA. Provisioning — для version-control datasources + ключевых дашбордов. [security]-блок: смените admin-пароль, задайте secret_key, отключите signup.

Типичные ошибки

Ловушки Grafana в Docker: нет бекапа grafana.db (потеря дашбордов при рестарте); несколько реплик Grafana с общей SQLite (file-lock-проблемы — Postgres для HA); коммит grafana.ini с секретами в git (env vars + secret-store).

Связанные понятия

Полезные ресурсы