Definicja #
Grafana to open-source'owa platforma do analizy i wizualizacji danych stworzona przez Torkel Ödegaard (pierwsza wersja 2014). Grafana Labs oferuje zarówno wersję open-source (self-hosted), jak i Grafana Cloud (SaaS).
Główne funkcjonalności Grafana:
- Dashboardy — interaktywne panele z wykresami, heatmapami, tabelami, alertami; zmienne (variables) do dynamicznego filtrowania
- Data Sources — natywne wtyczki dla dziesiątek systemów: Prometheus, Loki, InfluxDB, Elasticsearch, Jaeger, Tempo, PostgreSQL, MySQL, Azure Monitor, AWS CloudWatch, Google Cloud Monitoring
- Alerting — definiowanie reguł alertów na podstawie zapytań, powiadomienia przez Slack, PagerDuty, email, Opsgenie
- Grafana Loki — system agregacji logów (jak Elasticsearch, ale lekki), zaprojektowany do integracji z Grafaną; zapytania w języku LogQL
- Grafana Tempo — distributed tracing (jak Jaeger/Zipkin) zintegrowany z Grafaną
- Explore — tryb ad-hoc do eksploracji metryk i logów bez tworzenia dashboardu
Grafana jest standardowym narzędziem w stosie observability (obserwowalności):
- Metryki → Prometheus + Grafana
- Logi → Loki + Grafana
- Traces → Tempo + Grafana
Jest kluczowym elementem ekosystemu Kubernetes (Prometheus Operator + kube-prometheus-stack = Prometheus + Grafana jako gotowe rozwiązanie dla K8s).
Zastosowania #
Grafana stosuje się do:
- Monitorowania infrastruktury i aplikacji w czasie rzeczywistym — dashboardy CPU, RAM, latencja HTTP, błędy aplikacji
- Observability w Kubernetes — kube-prometheus-stack dostarcza gotowe dashboardy dla klastra K8s i wszystkich deploymentów
- Agregacji i wizualizacji logów — Grafana Loki jako lekka alternatywa dla Elasticsearch/ELK Stack do centralizacji logów
- Business intelligence i analityki — wizualizacja danych z baz SQL, BigQuery, ClickHouse dla dashboardów biznesowych
- Alertowania i SLO/SLA monitoring — śledzenie celów poziomu usług, automatyczne powiadomienia przy przekroczeniu progów
Ścieżka nauki #
Grafana jest najczęściej używana razem z Prometheusem — to naturalne miejsce do rozpoczęcia nauki.
Zacznij od:
- Podstawy Grafana: instalacja (Docker:
docker run grafana/grafana), UI, tworzenie pierwszego dashboardu - Dodanie źródła danych Prometheus — połączenie, eksploracja metryk
- Tworzenie paneli: typy wykresów (Time series, Stat, Gauge, Table), PromQL jako język zapytań
- Zmienne dashboardu (Variables) — dynamiczne filtrowanie po środowisku, instancji, serwisie
- Podstawy alertingu: reguły, Contact Points, Notification Policies
Następnie pogłębiaj:
- Grafana Loki — agregacja logów, LogQL, integracja z Promtail/Alloy
- Grafana Tempo — distributed tracing, korelacja traces z logami i metrykami
- Kube-prometheus-stack na Kubernetes — Helm chart z Prometheusem, Alertmanagerem i Grafaną
- Grafana Cloud — SaaS, plan free do 10 000 metryk
- Provisioning — automatyczne wdrażanie dashboardów jako kod (JSON, Terraform provider Grafana)
FAQ #
- Czy Grafana przechowuje dane?
- Nie — Grafana sama w sobie nie przechowuje danych metrycznych ani logów. Jest warstwą wizualizacji, która łączy się z zewnętrznymi źródłami danych (Prometheus, Loki, InfluxDB). Prometheus lub InfluxDB przechowują metryki time-series; Grafana je tylko odczytuje i wyświetla.
- Czym różni się Grafana od Kibana?
- Grafana i Kibana to narzędzia do wizualizacji, ale różnią się ekosystemem. Kibana jest częścią stosu Elastic (ELK) i jest zoptymalizowana do przeszukiwania logów w Elasticsearch. Grafana integruje się z wieloma źródłami danych (Prometheus, Loki, bazy SQL, chmury) i jest lepsza do dashboardów metryk i observability.
- Czym jest Prometheus w zestawieniu z Grafaną?
- Prometheus to system monitoringu zbierający i przechowujący metryki time-series (baza danych). Grafana to warstwa wizualizacji — łączy się z Prometheusem, odpytuje go w PromQL i wyświetla wyniki w dashboardach. Te dwa narzędzia używane razem to standard monitoringu w świecie Kubernetes.
- Ile zarabia DevOps znający Grafana i Prometheus?
- DevOps/SRE znający Grafana, Prometheus i Kubernetes zarabia w Polsce od 14 000 do 28 000 zł brutto. Observability (metryki, logi, traces) to kluczowa kompetencja w rolach DevOps/Platform Engineer — firmy z dużą skalą infrastruktury szczególnie cenią tę wiedzę.