Blog JSystems - uwalniamy wiedzę!
Blog JSystems - uwalniamy wiedzę!
Jeśli słyszałeś, że Grafana to narzędzie, w którym zespoły DevOps oglądają kolorowe wykresy obciążenia serwerów, to dobry punkt startu, ale zaledwie ułamek prawdy. W tym przewodniku wyjaśnimy od zera, co to jest Grafana, do czego służy i jak działa, a wszystko pokażemy na przykładach. I nie na diagramach z internetu, tylko na prawdziwych zrzutach z działającej instalacji, którą specjalnie na potrzeby tego artykułu postawiliśmy na własnym serwerze: Grafana, Prometheus oraz kilka źródeł metryk.
Grafana w pigułce: darmowe, otwartoźródłowe narzędzie do wizualizacji danych i monitoringu w czasie rzeczywistym. Samo nie przechowuje danych. Łączy się ze źródłami (na przykład z Prometheusem), odpytuje je i rysuje z nich dashboardy oraz wysyła alerty, gdy coś działa nie tak.
Z tego artykułu dowiesz się:
Grafana to otwartoźródłowa (open source, czyli o publicznie dostępnym kodzie) platforma do wizualizacji danych, monitorowania systemów i alertowania. Mówiąc prościej: Grafana zamienia surowe liczby, które produkują Twoje serwery, aplikacje i bazy danych, w czytelne wykresy, liczniki i tabele zebrane na jednej stronie zwanej dashboardem.
Kluczowa rzecz, którą warto zrozumieć od razu, bo odróżnia Grafanę od większości innych narzędzi: Grafana nie przechowuje danych. Nie jest bazą danych. Zamiast tego łączy się z zewnętrznymi źródłami danych (ang. data source), odpytuje je na bieżąco i rysuje wyniki. Dane fizycznie leżą gdzie indziej, a Grafana odpowiada wyłącznie za to, żeby ładnie i użytecznie je pokazać. To trochę jak deska rozdzielcza w samochodzie: sama nie produkuje prędkości ani obrotów, tylko odczytuje je z czujników i pokazuje kierowcy.
Grafana powstała w 2014 roku. Stworzył ją szwedzki programista Torkel Ödegaard, a projekt wyrósł jako odgałęzienie interfejsu Kibany. Dziś rozwija ją firma Grafana Labs, a narzędzie stało się faktycznym standardem monitoringu w świecie DevOps. Używają go zespoły od małych startupów po największe firmy technologiczne, właśnie dlatego, że jest darmowe, elastyczne i potrafi połączyć w jednym miejscu dane z wielu różnych systemów naraz.
To jedno z najczęstszych nieporozumień, dlatego poświęćmy mu osobną sekcję. Grafana i Power BI na pierwszy rzut oka robią to samo, czyli pokazują dane na wykresach, ale służą do dwóch różnych rzeczy. Grafana to narzędzie do monitoringu i danych na żywo: patrzysz w nią, żeby wiedzieć, czy system działa w tej chwili, i dostać alert, gdy coś się psuje. Power BI to narzędzie do raportowania i analityki biznesowej: sięgasz po nie, żeby przeanalizować, jak szła sprzedaż w minionym kwartale. Poniżej najważniejsze różnice:
| Cecha | Grafana | Power BI |
|---|---|---|
| Główny cel | Monitoring i dane na żywo | Raporty i analityka biznesowa |
| Rodzaj danych | Metryki i szeregi czasowe (na bieżąco) | Dane biznesowe, głównie historyczne |
| Odświeżanie | Sekundy, czas rzeczywisty | Zwykle okresowe (godziny, dni) |
| Typowy użytkownik | DevOps, SRE, administrator | Analityk biznesowy, controlling |
| Model i cena | Open source, darmowe, własny serwer | Komercyjne, licencja Microsoftu |
| Mocna strona | Alerty i monitoring 24 godziny na dobę | Modelowanie danych i raporty (DAX) |
Nie musisz zresztą wybierać jednego kosztem drugiego. W wielu firmach działają obok siebie: Grafana pilnuje infrastruktury na żywo, a Power BI służy działowi biznesowemu do raportów. Co ciekawe, Grafana też potrafi rysować wykresy wprost z baz SQL, więc część zadań analitycznych obrobi, ale to nie jest jej główne przeznaczenie. Prosta zasada na koniec: jeśli pytasz "czy to działa w tej chwili", wybierasz Grafanę; jeśli pytasz "jak nam poszło w zeszłym miesiącu", sięgasz po Power BI.
Choć Grafana kojarzy się głównie z IT, jej zastosowania są znacznie szersze. Oto obszary, w których sprawdza się najlepiej:
| Obszar | Przykłady użycia |
|---|---|
| IT i DevOps | Monitoring serwerów, kontenerów, Kubernetesa, baz danych i aplikacji. Szybkie wykrywanie awarii. |
| SRE i niezawodność | Śledzenie dostępności usług, celów SLO i czasów odpowiedzi. |
| Monitoring aplikacji (APM) | Liczba żądań, błędy, opóźnienia, wąskie gardła w kodzie. |
| Analityka biznesowa | Sprzedaż, liczba zamówień, ruch na stronie, wprost z baz danych firmy. |
| IoT (internet rzeczy) | Odczyty z czujników: temperatura, wilgotność, zużycie energii. |
Żeby Grafana miała co pokazać, ktoś musi najpierw te dane zebrać i gdzieś zapisać. Najpopularniejszy zestaw w monitoringu wygląda tak: metryki zbiera Prometheus (baza szeregów czasowych, czyli danych zapisywanych ze znacznikiem czasu), a Grafana je z niego wyciąga i rysuje. Oto cała ścieżka danych, którą warto zapamiętać:
Źródła danych
Serwery, aplikacje i bazy produkują metryki: zużycie CPU, pamięci, liczbę żądań.
Eksportery
Programy takie jak node_exporter udostępniają metryki pod adresem /metrics.
Prometheus
Co kilkanaście sekund pobiera metryki (tzw. scrape) i zapisuje je z czasem pomiaru.
Grafana
Odpytuje Prometheus językiem PromQL i rysuje panele, dashboardy oraz alerty.
Prometheus pilnuje, żeby faktycznie pobierać dane ze wszystkich celów (ang. targets). Na naszym środowisku widać to jak na dłoni: Prometheus odpytuje trzy zestawy metryk (node, cadvisor i samego siebie) i wszystkie są w stanie UP, czyli zdrowe.
W większych systemach nie wystarczą same metryki. Chcemy widzieć też logi (zapisy zdarzeń) oraz ślady (ang. traces, czyli droga pojedynczego żądania przez system). To podejście nazywa się observability (obserwowalność) i Grafana Labs ma na nie komplet własnych narzędzi, w skrócie LGTM:
Dla początkującego wniosek jest prosty: Grafana to nie tylko wykresy z jednego Prometheusa. To centrum dowodzenia, w którym w jednym miejscu łączysz metryki, logi i ślady z całej infrastruktury.
Grafana działa w przeglądarce. Po jej uruchomieniu (domyślnie pod adresem serwera na porcie 3000) wita nas ekran startowy. Za pierwszym razem logujemy się kontem administratora.
Po zalogowaniu trafiamy na stronę główną. Najważniejszy jest lewy pasek nawigacji, bo to z niego korzystamy przez cały czas pracy. Znajdziesz w nim kilka stałych pozycji:
Skoro Grafana sama nie ma danych, pierwsza rzecz, jaką się w niej robi, to podłączenie źródła danych. W menu Connections znajdziemy katalog obsługiwanych źródeł. Grafana wspiera kilkadziesiąt z nich od razu po instalacji, a kolejne setki można dodać przez wtyczki.
Oto najczęściej używane źródła danych i to, do czego się nadają:
| Źródło danych | Do czego służy |
|---|---|
| Prometheus | Metryki systemów i aplikacji. Standard w monitoringu infrastruktury. |
| InfluxDB | Metryki i dane z czujników (IoT). Kolejna popularna baza szeregów czasowych. |
| Loki | Logi aplikacji. Rozwiązanie od Grafana Labs, "Prometheus dla logów". |
| Elasticsearch | Logi i pełnotekstowe wyszukiwanie dużych zbiorów danych. |
| PostgreSQL / MySQL / MS SQL | Dane biznesowe wprost z baz relacyjnych, odpytywane językiem SQL. |
| CloudWatch / Azure Monitor | Metryki usług chmurowych AWS oraz Azure. |
My podłączamy Prometheus. Konfiguracja jest prosta: podajemy adres, pod którym działa nasze źródło, i zapisujemy. W tym przypadku Prometheus siedzi pod adresem http://prometheus:9090.
Po zapisaniu i przetestowaniu połączenia źródło pojawia się na liście jako aktywne i domyślne. Od tej chwili Grafana ma z czego rysować.
Jeśli jakiegoś źródła albo wykresu nie ma w Grafanie od razu, prawie na pewno znajdziesz je jako wtyczkę (ang. plugin). To dzięki wtyczkom Grafana obsługuje setki systemów, od baz danych, przez chmury, po narzędzia biznesowe. Wszystkie zebrane są w katalogu na grafana.com i widać je też bezpośrednio w Grafanie, w sekcji Administracja. Katalog liczy setki pozycji, więc naprawdę trudno trafić na system, którego nie da się podłączyć.
Wtyczki dzielą się na trzy rodzaje:
Instalacja jest prosta: w katalogu wybierasz wtyczkę i klikasz Install, a Grafana pobiera ją sama. Na własnym serwerze można też użyć polecenia grafana-cli plugins install albo wpisać listę wtyczek do konfiguracji, żeby instalowały się automatycznie przy starcie. Jedna ważna rada dotycząca bezpieczeństwa: instaluj przede wszystkim wtyczki podpisane (oznaczone jako Signed), pochodzące z oficjalnego katalogu, bo działają wewnątrz Twojej Grafany i mają dostęp do danych.
W Grafanie pracujemy na dwóch pojęciach:
Na liście dashboardów widać te, które już mamy. Część zbudowaliśmy sami, część zaimportowaliśmy gotowe. Dashboardy można porządkować w folderach i opisywać tagami, co bardzo pomaga, gdy w firmie jest ich kilkaset.
Grafana daje kilkanaście typów paneli i to samo zapytanie można pokazać na wiele sposobów: jako wykres, licznik, wskaźnik, tabelę albo mapę ciepła. Najczęściej używane typy to:
| Typ panelu | Kiedy się przydaje |
|---|---|
| Time series (wykres w czasie) | Zmiana wartości w czasie, na przykład obciążenie CPU minuta po minucie. |
| Stat (licznik) | Jedna duża liczba, na przykład bieżące zużycie pamięci w procentach. |
| Gauge (wskaźnik) | Wartość na skali z progami, na przykład zapełnienie dysku ze strefą czerwoną. |
| Bar chart (słupki) | Porównanie wartości między kategoriami. |
| Table (tabela) | Wiele wartości i etykiet naraz, do przeglądania szczegółów. |
| Heatmap (mapa ciepła) | Rozkład wartości, na przykład czasy odpowiedzi aplikacji. |
Trzy funkcje, które szybko zamieniają początkującego w sprawnego użytkownika Grafany.
Zmienne (ang. variables, templating) to listy rozwijane u góry dashboardu. Dzięki nim jeden dashboard obsłuży wiele serwerów albo środowisk: wybierasz wartość z listy, a wszystkie panele przeliczają się dla wybranej opcji. Nie musisz budować osobnego dashboardu na każdy serwer. Poniżej dodaliśmy do naszego dashboardu prostą zmienną "Serwer", która pojawia się jako lista wyboru u góry.
Zmienne definiuje się w ustawieniach dashboardu, w zakładce Variables. Podajesz nazwę, typ (na przykład lista własnych wartości albo wynik zapytania) i gotowe.
Transformacje (ang. transformations) to obróbka danych już w Grafanie, bez ruszania źródła. W zakładce Transformations w edytorze panelu możesz połączyć wyniki, policzyć sumy, zmienić nazwy kolumn albo odfiltrować wiersze, zanim trafią na wykres.
Adnotacje (ang. annotations) to pionowe znaczniki na wykresie opisujące zdarzenia, na przykład wdrożenie nowej wersji albo restart usługi. Od razu widać, czy skok obciążenia zbiegł się z jakąś zmianą. Konfiguruje się je w ustawieniach dashboardu, w zakładce Annotations.
Każdy dashboard w Grafanie to tak naprawdę plik w formacie JSON. Możesz go wyeksportować, wysłać koledze albo trzymać w repozytorium kodu razem z resztą projektu. To otwiera bardzo wygodną praktykę: trzymanie konfiguracji jako kod. Zamiast klikać wszystko ręcznie po nowej instalacji, wgrywasz gotowe pliki źródeł danych i dashboardów (tak zwany provisioning), a Grafana sama je wczytuje. Grafana zapisuje też historię zmian dashboardu, więc w razie pomyłki wrócisz do wcześniejszej wersji.
Teraz najważniejsza część, czyli praktyka. Zbudujemy od zera wskaźnik pokazujący zużycie procesora. Przejdziemy przez to na osiem kroków, a każdy pokażemy na prawdziwym zrzucie z Grafany, dokładnie w takiej kolejności, w jakiej zobaczysz to u siebie.
W lewym menu wybieramy Dashboards, a następnie przycisk New i opcję New dashboard. Grafana otwiera pusty dashboard w trybie edycji. To nasza czysta kartka, na której zaraz ułożymy panele.
Klikamy przycisk Add u góry i wybieramy Visualization. Grafana zapyta o źródło danych, wskazujemy nasz Prometheus. Otwiera się edytor nowego, jeszcze pustego panelu. Na dole widać wybrane źródło danych oraz pole na zapytanie, a po prawej listę typów wizualizacji.
Po prawej stronie klikamy listę wizualizacji i wybieramy Gauge, czyli wskaźnik. Wybraliśmy go, bo od razu pokaże, czy obciążenie jest w strefie zielonej, żółtej czy czerwonej. Ten sam wynik można oczywiście pokazać jako wykres, licznik albo tabelę, o czym mówiliśmy wyżej.
W polu zapytania (w trybie Code) wpisujemy zapytanie w języku PromQL, czyli w języku zapytań Prometheusa:
100 - (avg(rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
To zapytanie wygląda groźnie, ale mówi prostą rzecz: policz, jaki procent czasu procesor spędził bezczynnie, i odejmij to od stu. Wynik to procent realnego obciążenia CPU. Rozłóżmy je na części, bo to najlepsza okazja, żeby zrozumieć składnię PromQL:
| Fragment | Co oznacza |
|---|---|
node_cpu_seconds_total | Metryka z node_exportera: łączny czas pracy procesora w sekundach. |
{mode="idle"} | Filtr etykiety. Bierzemy tylko czas, w którym procesor był bezczynny (tryb idle). |
[5m] | Okno czasu. Patrzymy na ostatnie 5 minut historii tej metryki. |
rate(...) | Tempo przyrostu na sekundę w tym oknie, czyli ile "bezczynności" przybywa co sekundę. |
avg(...) | Uśrednienie po wszystkich rdzeniach procesora do jednej liczby. |
* 100 | Zamiana ułamka na procent. |
100 - (...) | Odejmujemy procent bezczynności od stu i dostajemy procent obciążenia. |
Po wpisaniu zapytania wskaźnik od razu pokazuje bieżące obciążenie procesora.
Teraz sprawimy, żeby wskaźnik sam zmieniał kolor, gdy robi się gorąco. Służą do tego progi (ang. thresholds). Znajdziesz je w prawym panelu opcji, po przewinięciu w dół do sekcji Thresholds. Domyślnie jest tam jeden próg Base w kolorze zielonym. Klikamy Add threshold i dodajemy dwa progi: wartość 70 w kolorze żółtym i wartość 85 w kolorze czerwonym. Od teraz wskaźnik jest zielony do 70 procent, żółty od 70 do 85 i czerwony powyżej 85.
Panel gotowy, więc zapisujemy całość przyciskiem Save dashboard. Grafana poprosi o nazwę i folder. Nazywajmy dashboardy po ludzku, na przykład "Kondycja serwera", bo za tydzień nikt nie będzie pamiętał, co znaczy skrót z trzech liter.
Dokładamy jeszcze dwa panele (licznik pamięci i wykres obciążenia w czasie) w ten sam sposób i mamy pierwszy, w pełni działający dashboard. Wskaźnik CPU pokazuje bieżące obciążenie, licznik zużycie pamięci, a wykres na dole to samo obciążenie w czasie.
Na koniec rzecz, której używa się bez przerwy: selektor zakresu czasu w prawym górnym rogu. Jednym kliknięciem przełączamy widok z ostatnich 30 minut na ostatnią godzinę, dobę albo dowolny własny przedział, a wszystkie panele odświeżają się razem.
Nie wszystko trzeba budować samemu. Największa siła Grafany to społeczność, która dzieli się gotowymi dashboardami. Na stronie grafana.com/dashboards jest ich kilka tysięcy: dla serwerów, baz danych, Kubernetesa, Dockera, kolejek, aplikacji i setek innych systemów. Każdy dashboard ma swój numer (ID), a wystarczy podać ten numer w Grafanie, żeby wgrać komplet gotowych wykresów.
Import przebiega tak:
Po kilku sekundach mamy gotowy, rozbudowany dashboard, taki jak Node Exporter Full z początku artykułu. Jego górna część to zestaw wskaźników z najważniejszymi liczbami: obciążenie CPU, zużycie pamięci i zapełnienie dysku w jednym rzucie oka.
Grafana nie ogranicza się do metryk pojedynczego serwera. Równie łatwo zaimportować dashboard do monitoringu kontenerów. Poniższy pokazuje zużycie procesora, pamięci i ruch sieciowy w rozbiciu na poszczególne kontenery Dockera, każdy jako osobna linia z etykietą.
Nie zawsze chcemy od razu budować dashboard. Czasem trzeba tylko szybko coś sprawdzić. Do tego służy widok Explore. Wpisujemy jedno zapytanie, uruchamiamy je i od razu dostajemy wykres. To idealne miejsce do nauki języka zapytań i do doraźnego przeglądania danych podczas awarii.
Same wykresy to nie wszystko. Nikt nie będzie wpatrywał się w ekran przez całą dobę. Dlatego Grafana ma wbudowane alertowanie: sama pilnuje warunków i wysyła powiadomienie, gdy coś jest nie tak. Zobaczmy, jak ustawić prosty alert "obciążenie CPU powyżej 90 procent". Regułę tworzymy w menu Alerting, przyciskiem New alert rule.
Formularz prowadzi nas przez kolejne, ponumerowane sekcje:
To jest właśnie sedno monitoringu. Dashboard pokazuje stan na życzenie, a alert sam zawiadamia, gdy dzieje się coś złego, nawet gdy nikt nie patrzy na ekran.
Grafana nie jest jedynym narzędziem tego typu, ale zajmuje wyjątkowe miejsce, bo jest niezależna od źródła danych i darmowa. Oto jak wypada na tle innych popularnych rozwiązań:
| Narzędzie | Czym się wyróżnia w porównaniu z Grafaną |
|---|---|
| Prometheus | Zbiera i przechowuje metryki, ale sam rysuje je bardzo skromnie. Grafana jest jego naturalnym uzupełnieniem do wizualizacji. |
| Kibana | Mocna przy logach, ale przywiązana do ekosystemu Elastic. Grafana łączy wiele źródeł naraz. |
| Zabbix | Kompletny system monitoringu z własnym zbieraniem danych. Często łączy się go z Grafaną dla ładniejszych wykresów. |
| Datadog / New Relic | Płatne platformy w chmurze, wygodne, ale kosztowne. Grafanę uruchomisz za darmo na własnym serwerze. |
To para, którą najłatwiej pomylić, a różnica jest prosta. Prometheus zbiera i przechowuje dane, Grafana je pokazuje. Prometheus ma własny, bardzo skromny interfejs, więc do codziennego oglądania metryk i tak sięga się po Grafanę. Prawie zawsze działają razem: Prometheus w roli źródła, Grafana w roli deski rozdzielczej.
Kibana i Grafana wyrosły z tego samego korzenia, ale poszły w różne strony. Kibana jest najlepsza do logów w Elasticsearch i jest z tym ekosystemem mocno związana. Grafana jest uniwersalna: w jednym dashboardzie połączysz metryki z Prometheusa, logi z Lokiego i dane z bazy SQL. W monitoringu metryk to Grafana wygrała rynek.
Grafanę uruchomisz na kilka sposobów. Najszybszy to Docker. Jedno polecenie i po chwili Grafana działa pod adresem http://localhost:3000 (login i hasło: admin):
docker run -d -p 3000:3000 --name grafana grafana/grafana
W realnym monitoringu Grafana rzadko działa sama. Zwykle idzie w parze z Prometheusem i eksporterami. Właśnie taki komplet postawiliśmy na potrzeby tego artykułu, opisany w jednym pliku docker-compose.yml:
services:
prometheus:
image: prom/prometheus:latest
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml:ro
ports: ["9090:9090"]
node-exporter:
image: prom/node-exporter:latest
ports: ["9100:9100"]
grafana:
image: grafana/grafana:latest
ports: ["3000:3000"]
Jeśli nie chcesz niczego instalować, jest jeszcze Grafana Cloud, czyli hostowana wersja w chmurze z darmowym planem na start (zakładasz konto na grafana.com/products/cloud). A jak z kosztami? W skrócie:
W firmie Grafany zwykle używa wiele osób, więc od początku warto zadbać o dostęp. Grafana ma wbudowane konta użytkowników i trzy podstawowe role: Viewer (tylko podgląd), Editor (tworzenie i edycja dashboardów) oraz Admin (pełna kontrola). Użytkowników można grupować w zespoły i przydzielać im dostęp do konkretnych folderów z dashboardami. Da się też podłączyć logowanie firmowe, na przykład przez Google, GitHub czy LDAP, żeby nie zakładać osobnych kont. To ważne, bo dashboardy często pokazują wrażliwe dane o infrastrukturze.
| Pojęcie | Co oznacza |
|---|---|
| Źródło danych | System, z którego Grafana pobiera dane (np. Prometheus, baza SQL, Loki). |
| Panel | Pojedynczy kafelek z wykresem, licznikiem lub tabelą. |
| Dashboard | Strona z zestawem paneli opisujących jeden temat. |
| Metryka | Liczbowy pomiar zapisywany w czasie, na przykład zużycie CPU. |
| PromQL | Język zapytań Prometheusa, którym mówimy, co narysować. |
| Eksporter | Program udostępniający metryki systemu pod adresem /metrics. |
| Próg (threshold) | Wartość graniczna, po której panel zmienia kolor (zielony, żółty, czerwony). |
| Alert | Reguła, która wysyła powiadomienie po spełnieniu warunku. |
| Observability | Obserwowalność: metryki, logi i ślady razem dają pełny obraz systemu. |
Grafana to darmowe, otwartoźródłowe narzędzie, które zamienia rozproszone dane z serwerów, aplikacji i baz w czytelne, żyjące na bieżąco dashboardy, a do tego samo pilnuje warunków i wysyła alerty. Sama nie przechowuje danych, tylko łączy się ze źródłami takimi jak Prometheus, odpytuje je i pokazuje wyniki. W odróżnieniu od Power BI patrzy na dane na żywo, a nie na raporty historyczne, i to właśnie czyni ją królową monitoringu. Największe atuty to elastyczność (jeden dashboard łączy wiele źródeł naraz), ogromna społeczność z tysiącami gotowych dashboardów oraz to, że zaczniesz z nią za darmo w kilka minut.
Najlepszy sposób nauki to praktyka: postaw Grafanę i Prometheus przez Docker Compose, zaimportuj dashboard 1860 i spróbuj zbudować własny panel, dokładnie tak, jak pokazaliśmy w tym artykule. A jeśli chcesz przejść przez to z trenerem praktykiem i nauczyć się Grafany oraz całego monitoringu szybciej i w dobrze poukładanej kolejności, mamy dla Ciebie dwa szkolenia.
Grafana służy do monitorowania i wizualizacji danych w czasie rzeczywistym. Najczęściej pokazuje kondycję serwerów, kontenerów, aplikacji i baz danych, ale sprawdza się też w analityce biznesowej i w internecie rzeczy (IoT). Do tego pilnuje ustawionych progów i wysyła alerty, gdy coś działa nie tak.
Tak. Grafana w wersji open source jest bezpłatna, także do zastosowań komercyjnych, i uruchomisz ją na własnym serwerze bez opłat. Płatne są dodatkowe usługi: hostowana Grafana Cloud (ma jednak darmowy plan) oraz Grafana Enterprise z funkcjami dla dużych firm i wsparciem.
Nie. Grafana nie jest bazą danych. Łączy się ze źródłami danych, na przykład z Prometheusem, InfluxDB, Lokim czy PostgreSQL, odpytuje je na bieżąco i rysuje wykresy. Dane fizycznie leżą w tych źródłach, a Grafana odpowiada tylko za wizualizację i alertowanie.
Grafana służy do monitoringu i danych na żywo (metryki, szeregi czasowe), jest darmowa i uruchamiana na własnym serwerze, a jej mocną stroną są alerty. Power BI to komercyjne narzędzie Microsoftu do raportowania i analityki biznesowej, nastawione na dane historyczne i modelowanie w języku DAX. W skrócie: Grafana odpowiada na pytanie, czy system działa teraz, a Power BI, jak szła sprzedaż w kwartale.
Prometheus zbiera i przechowuje metryki w bazie szeregów czasowych. Grafana ich nie zbiera, tylko pokazuje. W praktyce często pracują razem: Prometheus jest źródłem danych, a Grafana rysuje z nich dashboardy i wysyła alerty.
Kibana jest przywiązana do ekosystemu Elastic i najlepiej sprawdza się przy logach w Elasticsearch. Grafana jest niezależna od źródła i potrafi w jednym dashboardzie połączyć dane z wielu różnych systemów naraz. Dlatego w monitoringu metryk to Grafana jest standardem.
Zabbix to kompletny system monitoringu, który sam zbiera dane i sam je pokazuje. Grafana danych nie zbiera, tylko je wizualizuje. Często łączy się je razem: Zabbix zbiera metryki, a Grafana rysuje z nich ładniejsze i bardziej elastyczne dashboardy.
Najszybciej przez Dockera poleceniem docker run -d -p 3000:3000 grafana/grafana. Grafana ruszy na porcie 3000, logujesz się jako admin z hasłem admin. Można ją też zainstalować z pakietu systemowego na Linuksie albo skorzystać z hostowanej Grafana Cloud bez instalacji.
Ze strony grafana.com, z katalogu dashboardów społeczności. Każdy dashboard ma numer, który wystarczy podać w opcji importu. Popularne przykłady to Node Exporter Full (numer 1860) do monitoringu serwera oraz gotowe dashboardy dla kontenerów, baz danych i Kubernetesa.
Chcesz nauczyć się Grafany od praktyka?
Poniżej dwa szkolenia JSystems. Pierwsze skupia się w całości na Grafanie, drugie to szeroki monitoring i observability z Grafaną, Prometheusem, Lokim i Zabbixem. Oba mają termin gwarantowany, czyli odbywają się na pewno.
Szkolenie Grafana - monitoring, wizualizacja danych i alerting ->
Szkolenie Monitoring i Observability: Grafana, Prometheus, Loki i Zabbix ->
Komentarze (0)
Brak komentarzy...