Docker Grafana
Grafana — платформа визуализации метрик и логов с открытым исходным кодом. Используется для построения дашбордов поверх данных из Prometheus, InfluxDB, Loki, PostgreSQL и других источников.
Возможности
- Гибкие дашборды с графиками, таблицами, алертами
- Поддержка более 50 источников данных
- Алерты с уведомлениями в Telegram, Email, Slack
- Готовые дашборды из официального каталога (grafana.com/dashboards)
- Совместная работа и управление доступом
Установка через Docker Compose
mkdir -p /opt/monitoring && cd /opt/monitoring
Файл /opt/monitoring/docker-compose.yml:
services:
grafana:
image: grafana/grafana:latest
container_name: grafana
restart: unless-stopped
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=ChangeMe123
- GF_SERVER_ROOT_URL=https://example.com/grafana/
- GF_SERVER_SERVE_FROM_SUB_PATH=true
volumes:
- grafana_data:/var/lib/grafana
networks:
- traefik_proxy
labels:
- "traefik.enable=true"
- "traefik.http.routers.grafana.rule=Host(`example.com`) && PathPrefix(`/grafana`)"
- "traefik.http.routers.grafana.entrypoints=websecure"
- "traefik.http.routers.grafana.tls.certresolver=letsencrypt"
- "traefik.http.services.grafana.loadbalancer.server.port=3000"
volumes:
grafana_data:
networks:
traefik_proxy:
external: true
Запуск
docker compose up -d
Grafana будет доступна по адресу https://example.com/grafana/.
Логин по умолчанию: admin / ChangeMe123 (смените при первом входе).
Подключение Prometheus как источника данных
- Откройте Connections → Data sources → Add data source
- Выберите Prometheus
- URL:
http://prometheus:9090(если в одной Docker-сети) - Нажмите Save & test
Импорт готового дашборда
- Откройте Dashboards → Import
- Введите ID из каталога, например
1860(Node Exporter Full) - Выберите источник данных Prometheus → Import
Обновление
docker compose pull grafana && docker compose up -d grafana
Примечания
- Данные дашбордов и настройки хранятся в томе
grafana_data. - Для пути-based доступа через Traefik обязательно задайте
GF_SERVER_ROOT_URLиGF_SERVER_SERVE_FROM_SUB_PATH=true. - Grafana не собирает метрики сама — ей нужен источник данных, например Prometheus.