Jak zintegrować Grafana z Prometheusem, MySQL i innymi źródłami danych?

Dowiedz się, jak zintegrować Grafanę z Prometheusem, MySQL i innymi źródłami danych, tworzyć dashboardy i efektywnie wizualizować dane.
01 czerwca 2025
blog
Poziom: Podstawowy

Artykuł przeznaczony dla początkujących i średnio zaawansowanych osób z obszaru DevOps, administracji systemami, programowania oraz analityki, które chcą integrować Grafanę ze źródłami danych i budować dashboardy.

Z tego artykułu dowiesz się

  • Jakie są możliwości Grafany w zakresie wizualizacji danych i integracji z różnymi źródłami?
  • Jak krok po kroku skonfigurować Grafanę z Prometheusem oraz dodać źródło danych MySQL?
  • Jak tworzyć dashboardy, pisać podstawowe zapytania (PromQL, SQL) i rozwiązywać typowe problemy integracyjne?

Wprowadzenie do Grafany i jej możliwości integracyjnych

Grafana to jedno z najpopularniejszych narzędzi typu open-source służących do monitorowania i wizualizacji danych. Jego główną siłą jest elastyczność w integracji z różnorodnymi źródłami danych oraz interaktywne, konfigurowalne dashboardy. Narzędzie to umożliwia tworzenie dynamicznych wykresów, tabel, alertów oraz wykrywanie anomalii na podstawie danych pochodzących z systemów monitorujących, baz danych czy aplikacji.

Grafana nie przechowuje samodzielnie danych – zamiast tego łączy się z zewnętrznymi źródłami, aby pobierać i wizualizować informacje w czasie rzeczywistym. Dzięki temu może być wykorzystywana w bardzo różnych scenariuszach – od monitoringu infrastruktury IT, przez obserwację działania aplikacji, aż po analizę danych biznesowych.

Wśród najczęściej integrowanych źródeł danych znajdują się:

  • Prometheus – system monitorowania i alertowania oparty na zbieraniu metryk czasowych.
  • MySQL – popularna relacyjna baza danych, z której można pobierać zarówno dane metryczne, jak i biznesowe.
  • InfluxDB, PostgreSQL, Loki, Elasticsearch – inne systemy danych, które Grafana obsługuje natywnie.

Grafana pozwala na jednoczesne połączenie z wieloma źródłami, co umożliwia tworzenie złożonych widoków i porównywanie danych z różnych systemów w jednym interfejsie. Dzięki obsłudze zapytań w różnych językach (jak PromQL dla Prometheusa czy SQL dla MySQL), użytkownicy mają pełną kontrolę nad tym, jakie dane są prezentowane i w jakiej formie.

Interfejs użytkownika Grafany jest przyjazny zarówno dla początkujących, jak i zaawansowanych użytkowników. Z jednej strony umożliwia konfigurację dashboardów za pomocą graficznego edytora, z drugiej pozwala na precyzyjne sterowanie danymi i zapytaniami.

Grafana znajduje zastosowanie w wielu dziedzinach – administratorzy systemów i DevOps używają jej do monitorowania serwerów, programiści analizują wydajność aplikacji, a analitycy danych wykorzystują ją do tworzenia raportów i agregacji danych biznesowych.

Konfiguracja Grafana – integracja z Prometheusem krok po kroku

Prometheus to jedno z najczęściej używanych źródeł danych w Grafanie, wykorzystywane do zbierania i przechowywania danych metrycznych. Integracja tych dwóch narzędzi pozwala na tworzenie dynamicznych dashboardów oraz analizę danych w czasie rzeczywistym. Poniżej przedstawiamy proces konfiguracji Grafany z Prometheusem w kilku krokach.

Krok 1: Upewnij się, że Prometheus działa

Przed rozpoczęciem integracji należy upewnić się, że Prometheus jest poprawnie zainstalowany i uruchomiony. Domyślnie interfejs Prometheusa dostępny jest pod adresem http://localhost:9090. Warto sprawdzić, czy Prometheus zbiera dane, odwiedzając adres w przeglądarce i wykonując proste zapytanie, np. up.

Krok 2: Zaloguj się do Grafany

Po uruchomieniu Grafany, dostępnej zwykle pod adresem http://localhost:3000, należy zalogować się na konto administratora (admin/admin przy pierwszym uruchomieniu) i ustawić nowe hasło.

Krok 3: Dodanie źródła danych Prometheus

  • W menu bocznym wybierz Configuration (ikona trybika), a następnie kliknij Data Sources.
  • Kliknij przycisk Add data source.
  • Na liście dostępnych typów źródeł danych wybierz Prometheus.
  • W polu URL wpisz adres, pod którym dostępny jest Prometheus, np. http://localhost:9090.
  • Pozostaw pozostałe opcje domyślne (lub dostosuj je według własnych potrzeb) i kliknij Save & Test, aby sprawdzić połączenie.

Jeśli wszystko zostało skonfigurowane prawidłowo, Grafana wyświetli komunikat potwierdzający poprawne połączenie z Prometheusem.

Krok 4: Weryfikacja konfiguracji

Po zapisaniu źródła danych można przejść do tworzenia nowego dashboardu lub panelu i sprawdzić, czy dane z Prometheusa są poprawnie wyświetlane. Wystarczy dodać nowy panel i w edytorze zapytań wybrać źródło Prometheus, a następnie wpisać zapytanie, np. node_cpu_seconds_total.

Integracja Grafany z Prometheusem otwiera drzwi do zaawansowanego monitorowania systemów, aplikacji i infrastruktury. Dzięki tej konfiguracji możliwe jest tworzenie wizualizacji w czasie rzeczywistym, które ułatwiają analizę i szybkie reagowanie na problemy.

💡 Pro tip: Przed dodaniem źródła sprawdź w Prometheusie stronę /targets i wykonaj zapytanie up, aby potwierdzić, że metryki napływają; w Grafanie ustaw dla Prometheusa i paneli Min interval zgodnie ze scrape_interval (np. 15s), by uniknąć nadpróbkowania i ciężkich zapytań.

Grafana z MySQL – jak dodać i skonfigurować źródło danych

Grafana umożliwia integrację z różnymi typami źródeł danych, w tym z relacyjnymi bazami danych, takimi jak MySQL. W przeciwieństwie do systemów typu time-series database (np. Prometheus), które są zoptymalizowane pod kątem przechowywania danych metrycznych w czasie rzeczywistym, MySQL lepiej sprawdza się przy danych strukturalnych, transakcjach i zapytaniach analitycznych. Dzięki integracji z Grafaną możliwe jest tworzenie wizualizacji opartych na danych biznesowych, logach czy wynikach analiz przechowywanych w klasycznych tabelach SQL. Jeśli chcesz nauczyć się projektowania baz danych i pracy z językiem SQL od podstaw, sprawdź nasze szkolenie Kurs MySQL - projektowanie bazy danych za pomocą języka SQL - poziom od podstaw.

Dodanie źródła danych MySQL do Grafany jest proste i nie wymaga zaawansowanej konfiguracji. Oto podstawowe kroki, które należy wykonać:

  • Przejdź do panelu administracyjnego Grafany.
  • W menu po lewej stronie wybierz ConfigurationData sources.
  • Kliknij przycisk "Add data source".
  • Wybierz z listy MySQL.
  • Uzupełnij wymagane pola konfiguracyjne, takie jak:
    • Host – adres serwera MySQL (np. localhost:3306)
    • Database – nazwa bazy danych
    • User i Password – dane uwierzytelniające
  • Opcjonalnie, skonfiguruj SSL mode i inne ustawienia zaawansowane.
  • Kliknij Save & Test, aby przetestować połączenie.

Po poprawnym skonfigurowaniu, źródło danych MySQL będzie dostępne do wykorzystania przy tworzeniu dashboardów. Warto zaznaczyć, że w przypadku MySQL zapytania do baz danych piszemy ręcznie w języku SQL, co daje dużą elastyczność, ale też wymaga znajomości struktury danych.

Dla porównania, poniższa tabela ilustruje kluczowe różnice między typowymi źródłami danych:

Źródło danych Typ danych Język zapytań Zastosowanie
Prometheus Time-series PromQL Monitoring metryk i alerty
MySQL Relacyjne SQL Dane biznesowe, logi, analizy

Przykład prostego zapytania SQL, które można wykorzystać w Grafanie:

SELECT
  created_at AS time,
  COUNT(*) AS value
FROM
  orders
WHERE
  $__timeFilter(created_at)
GROUP BY
  time
ORDER BY
  time ASC

Zmienna $__timeFilter() jest specjalną funkcją Grafany, która automatycznie uwzględnia zakres czasu wybrany na dashboardzie.

💡 Pro tip: Używaj kolumn czasu w UTC (TIMESTAMP/DATETIME z indeksem) oraz funkcji $__timeFilter i $__timeGroup(), aby efektywnie filtrować i grupować dane w czasie; twórz użytkownika read-only i włącz SSL dla bezpiecznego połączenia.

Integracja Grafany z innymi popularnymi systemami monitoringu

Grafana to platforma, która wyróżnia się nie tylko bogatymi możliwościami wizualizacji danych, ale przede wszystkim otwartością na integrację z różnorodnymi źródłami danych. Poza Prometheusem i MySQL, w środowiskach produkcyjnych często stosowane są także inne narzędzia do monitorowania, takie jak InfluxDB, Loki, Elasticsearch, OpenTSDB, Zabbix czy Graphite. Każde z nich ma swoją specyfikę i znajduje zastosowanie w określonych kontekstach biznesowych i technicznych.

Poniżej przedstawiono krótkie porównanie najczęściej integrowanych z Grafaną systemów monitoringu:

SystemTyp danychZastosowanieRodzaj integracji
InfluxDBSzereg czasowyIoT, DevOps, metryki systemoweWtyczka natywna
LokiLogi tekstoweCentralne logowanie, analiza logówWtyczka natywna
ElasticsearchDane dokumentoweWyszukiwanie pełnotekstowe, analiza incydentówWtyczka natywna
ZabbixMetryki i zdarzeniaMonitorowanie infrastruktury ITWtyczka zewnętrzna
GraphiteSzereg czasowyMonitorowanie aplikacji i systemówWtyczka natywna
OpenTSDBSzereg czasowyBig Data, systemy o dużej liczbie metrykWtyczka natywna

Grafana umożliwia dodanie tych źródeł danych poprzez panel administracyjny. W zależności od typu systemu, dane mogą pochodzić z metryk, logów, zdarzeń lub zapytań tekstowych. Proces integracji zazwyczaj sprowadza się do wskazania adresu endpointa, uwierzytelnienia oraz konfiguracji podstawowych parametrów zapytań.

Przykład prostego zapytania z ElasticSearch w Grafanie:

{
  "query": {
    "bool": {
      "must": [
        { "match": { "status": "error" } },
        { "range": { "@timestamp": { "gte": "now-1h" } } }
      ]
    }
  }
}

Dzięki bogatemu ekosystemowi wtyczek, Grafana pozwala nie tylko na czytanie danych z różnych źródeł, ale także na ich korelację i prezentację w spójnych dashboardach. Taka elastyczność sprawia, że jest to narzędzie chętnie wykorzystywane zarówno w małych projektach, jak i w dużych środowiskach enterprise.

Tworzenie dashboardów do monitorowania serwera i aplikacji

Grafana oferuje elastyczne i interaktywne dashboardy, które pozwalają na wizualizację danych z różnych źródeł, takich jak Prometheus, MySQL czy inne systemy monitorujące. Głównym celem dashboardów jest umożliwienie szybkiego przeglądu stanu systemów oraz identyfikację potencjalnych problemów w czasie rzeczywistym.

Dashboardy w Grafanie składają się z paneli, które mogą przedstawiać dane w różnych formach – wykresów liniowych, słupkowych, tabel, liczników, a także map cieplnych. Każdy panel może być powiązany z osobnym zapytaniem do źródła danych, a jego konfiguracja jest w pełni dostosowywana przez użytkownika.

Porównanie dashboardów dla serwera i aplikacji

Typ dashboardu Typowe metryki Źródła danych
Monitoring serwera CPU, RAM, obciążenie dysku, sieć Prometheus, Node Exporter
Monitoring aplikacji Opóźnienia zapytań, liczba błędów, czas odpowiedzi MySQL, Prometheus, aplikacje z metrykami własnymi

Tworzenie podstawowego dashboardu

Aby utworzyć nowy dashboard w Grafanie:

  • Przejdź do zakładki Dashboards i wybierz New Dashboard
  • Dodaj nowy panel i wybierz źródło danych
  • Wprowadź zapytanie (np. PromQL lub SQL) odpowiadające danym, które chcesz monitorować
  • Wybierz typ wizualizacji, np. wykres liniowy
  • Zapisz panel i cały dashboard

Przykład zapytania w panelu PromQL

avg(rate(node_cpu_seconds_total{mode!="idle"}[5m])) by (instance)

Powyższe zapytanie prezentuje średnie użycie CPU w ostatnich 5 minutach dla każdego serwera.

Przykład zapytania SQL dla MySQL

SELECT
  $__time(timestamp),
  queries_per_second
FROM
  performance_metrics
WHERE
  $__timeFilter(timestamp)

To zapytanie ilustruje, jak wyświetlić liczbę zapytań na sekundę z bazy danych MySQL w zadanym przedziale czasu.

Dzięki możliwości dostosowywania dashboardów do konkretnych potrzeb użytkownika, Grafana staje się potężnym narzędziem nie tylko do monitorowania infrastruktury, ale też analizy działania aplikacji. Jeśli chcesz lepiej zrozumieć, jak wykorzystywać SQL w praktyce, warto zapoznać się z Kurs SQL podstawowy - praktyczne wykorzystanie języka SQL i budowa baz danych.

Przykłady zapytań i wizualizacji danych z różnych źródeł

Grafana umożliwia tworzenie zaawansowanych wizualizacji danych pochodzących z różnych źródeł, takich jak Prometheus, MySQL czy Elasticsearch. Każde z tych źródeł danych wymaga innego podejścia do tworzenia zapytań oraz oferuje inne możliwości analizy i prezentacji informacji.

Poniżej przedstawiono kilka podstawowych przykładów zapytań oraz ich typowe zastosowania w wizualizacjach:

Źródło danych Przykład zapytania Typowe wizualizacje
Prometheus
rate(http_requests_total[5m])
  • Wykresy liniowe (line charts)
  • Panele licznikowe (stat panels)
MySQL
SELECT status, COUNT(*) FROM logs GROUP BY status
  • Wykresy słupkowe (bar charts)
  • Tabele (tables)
Elasticsearch
{
  "query": {
    "match_all": {}
  }
}
  • Heatmapy
  • Grafy czasowe (time series)

Warto zauważyć, że Prometheus najlepiej sprawdza się w mierzeniu metryk systemowych i aplikacyjnych (np. użycie CPU, liczba zapytań HTTP), natomiast MySQL umożliwia analizę danych strukturalnych (np. logi, dane biznesowe). Elasticsearch z kolei jest często używany do analizy logów i danych tekstowych w czasie rzeczywistym.

Oto prosty przykład zapytania w Prometheusie, które oblicza średnie zużycie procesora w ostatnich 10 minutach:

avg(rate(node_cpu_seconds_total{mode="user"}[10m]))

W MySQL, zapytanie do zliczenia użytkowników zarejestrowanych w danym dniu może wyglądać następująco:

SELECT DATE(created_at) AS date, COUNT(*) as new_users 
FROM users 
GROUP BY DATE(created_at)

Te zapytania mogą następnie zasilać panele w Grafanie, umożliwiając dynamiczne wizualizacje z aktualnymi danymi. Wybór formy wizualizacji – czy będzie to wykres liniowy, słupkowy, tabela czy licznik – zależy od charakteru danych oraz celu analizy.

Najczęstsze problemy i wskazówki dotyczące integracji

Integracja Grafany z różnymi źródłami danych, takimi jak Prometheus, MySQL czy inne systemy monitoringu, może wiązać się z szeregiem wyzwań. Choć sama konfiguracja wydaje się intuicyjna, w praktyce często pojawiają się problemy związane z kompatybilnością, uprawnieniami czy niewłaściwym formatem danych. Oto lista najczęściej występujących trudności oraz praktycznych wskazówek, jak sobie z nimi radzić.

  • Problemy z autoryzacją i połączeniem do źródła danych: Jednym z najczęstszych błędów jest nieprawidłowa konfiguracja poświadczeń lub brak dostępu do sieci, w której znajduje się źródło danych. Upewnij się, że dane logowania są poprawne, a zapora sieciowa nie blokuje ruchu.
  • Nieprawidłowy format danych: Różne źródła danych zwracają informacje w odmiennych formatach. Na przykład Prometheus używa metryk czasowych w formacie time series, natomiast MySQL bazuje na danych tabelarycznych. Błędy wynikają często z prób stosowania zapytań lub paneli wizualizacji nieodpowiednich dla danego typu danych.
  • Brak metryk lub danych na wykresie: Brak widocznych danych może wynikać z nieprawidłowo ustawionych zakresów czasowych, błędnego zapytania lub tego, że dane jeszcze się nie pojawiły w źródle. Warto sprawdzić logi Grafany i samego źródła danych.
  • Problemy z wersjami oprogramowania: Grafana stale się rozwija i niektóre wtyczki czy integracje mogą nie być kompatybilne z najnowszymi wersjami. W przypadku błędów warto przetestować starszą wersję lub sprawdzić, czy integracja została oficjalnie zaktualizowana.
  • Wydajność i opóźnienia: Przy dużej ilości danych lub złożonych zapytaniach dashboardy mogą działać wolno. W takich przypadkach zaleca się optymalizację zapytań, agregację danych lub wykorzystanie buforowania tam, gdzie to możliwe.
  • Problemy z czasem i strefą czasową: Różnice w ustawieniach czasu pomiędzy Grafaną a źródłem danych mogą skutkować przesunięciami lub brakiem synchronizacji danych. Zaleca się stosowanie jednolitej strefy czasowej (najczęściej UTC) na wszystkich komponentach systemu.

Wskazówki:

  • Zawsze aktualizuj Grafanę i źródła danych do najnowszych stabilnych wersji.
  • Korzystaj z oficjalnych lub szeroko używanych wtyczek – mają lepsze wsparcie i dokumentację.
  • Sprawdzaj logi Grafany oraz źródła danych, aby lepiej diagnozować problemy.
  • Testuj integrację z użyciem prostych zapytań, zanim przejdziesz do bardziej złożonych dashboardów.
  • Regularnie wykonuj kopie zapasowe konfiguracji i dashboardów, aby uniknąć utraty danych przy awarii.
💡 Pro tip: Diagnozuj błędy przez Query Inspector i logi (Grafana + źródło), zaczynając od najprostszych zapytań i weryfikując zakres czasu. Gdy dashboard działa wolno, zawężaj time range, agreguj dane i redukuj krotność metryk (unikaj nadmiaru labeli).

Podsumowanie i dalsze kroki w pracy z Grafaną

Grafana to potężne, elastyczne narzędzie do wizualizacji danych, które pozwala na integrację z wieloma źródłami danych – od systemów monitoringu, takich jak Prometheus, po klasyczne bazy danych, jak MySQL czy PostgreSQL. Dzięki swojej modularnej budowie i intuicyjnemu interfejsowi, Grafana znajduje zastosowanie zarówno w środowiskach DevOps, jak i w analityce biznesowej.

Podstawową zaletą Grafany jest jej zdolność do łączenia danych z różnych źródeł w jednym miejscu, umożliwiając tworzenie dynamicznych, interaktywnych dashboardów. Prometheus świetnie sprawdza się w monitorowaniu metryk systemowych i aplikacyjnych w czasie rzeczywistym, natomiast MySQL umożliwia analizę danych historycznych i raportowanie. Integracja tych źródeł pozwala na uzyskanie pełniejszego obrazu działania systemu.

W kolejnych krokach pracy z Grafaną warto skupić się na:

  • Dostosowaniu dashboardów do konkretnych potrzeb zespołu lub projektu.
  • Wykorzystaniu alertów i notyfikacji do automatycznego reagowania na problemy.
  • Eksperymentowaniu z różnymi typami wykresów i paneli, aby znaleźć najczytelniejszy sposób prezentacji danych.
  • Rozszerzaniu możliwości Grafany poprzez instalację dodatkowych wtyczek i integracji z innymi narzędziami.

Grafana nie tylko pomaga w monitorowaniu infrastruktury, ale również wspiera podejmowanie decyzji na podstawie danych. Jej elastyczność i rozwijająca się społeczność czynią ją jednym z najważniejszych narzędzi w nowoczesnym zarządzaniu systemami IT.

Kurs SQL - podstawy relacyjnych baz danych i wirtualizacja
początkujący
cena
od 2961 zł + VAT dla szkoleń otwartych
szkolenia zamknietę
Zapytaj o cenę dla szkoleń zamkniętych
Kurs SQL - podstawy relacyjnych baz danych i wirtualizacja...
Kurs Splunk – analiza danych i tworzenie raportów
ogólny
cena
od 3895 zł + VAT dla szkoleń otwartych
szkolenia zamknietę
Zapytaj o cenę dla szkoleń zamkniętych
Kurs Splunk – analiza danych i tworzenie raportów...
Kurs JavaScript i MongoDB
ogólny
cena
od 3895 zł + VAT dla szkoleń otwartych
szkolenia zamknietę
Zapytaj o cenę dla szkoleń zamkniętych
Kurs JavaScript i MongoDB...
icon

Formularz kontaktowyContact form

Imię *Name
NazwiskoSurname
Adres e-mail *E-mail address
Telefon *Phone number
UwagiComments