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 как источника данных

  1. Откройте Connections → Data sources → Add data source
  2. Выберите Prometheus
  3. URL: http://prometheus:9090 (если в одной Docker-сети)
  4. Нажмите Save & test

Импорт готового дашборда

  1. Откройте Dashboards → Import
  2. Введите ID из каталога, например 1860 (Node Exporter Full)
  3. Выберите источник данных 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.