Blog JSystems - uwalniamy wiedzę!
Blog JSystems - uwalniamy wiedzę!
Jeśli zderzyłeś się z pytaniem Grafana vs Kibana i internet odpowiada Ci mglistym "oba są świetne do wizualizacji danych", to ten artykuł jest po to, żeby dać Ci konkretną odpowiedź. Postawiliśmy specjalnie na własnym serwerze obie platformy naraz: Grafanę spiętą z Prometheusem oraz pełny Elastic Stack z Kibaną i danymi w Elasticsearch. Wszystkie zrzuty poniżej pochodzą z tych żywych instalacji, więc zobaczysz, czym Grafana i Kibana realnie różnią się w codziennej pracy.
Grafana to uniwersalny panel do wizualizacji, który podłączysz do ponad 150 różnych źródeł danych i który najlepiej sprawdza się przy metrykach oraz monitoringu infrastruktury. Kibana to okno do jednej konkretnej bazy, Elasticsearch, i to okno jest genialne do przeszukiwania oraz analizy logów i danych tekstowych. Najkrócej: Grafana pyta "z czego chcesz rysować wykresy", Kibana zakłada, że dane masz już w Elasticsearch i pyta "czego w nich szukasz".
Grafana to otwartoźródłowe narzędzie do budowania dashboardów, czyli tablic z wykresami. Jej największa zaleta to niezależność od miejsca przechowywania danych. Sama nic nie przechowuje. Podłącza się do zewnętrznego źródła (Prometheus, InfluxDB, baza SQL, Loki, a nawet Elasticsearch) i rysuje z niego panele. Dlatego sprawdza się tam, gdzie trzeba oglądać kondycję serwerów, aplikacji i sieci: obciążenie procesora, zużycie pamięci, opóźnienia, liczbę żądań na sekundę.
Na dashboardzie wyżej widać klasyczny zestaw dla administratora: wskaźniki zajętości zasobów, wykresy czasowe zużycia CPU i pamięci oraz ruch sieciowy, wszystko odświeżane automatycznie. Jeśli chcesz zrozumieć samą Grafanę od podstaw, mamy osobny, szczegółowy przewodnik: Co to jest Grafana - kompletny przewodnik dla początkujących.
Kibana to część Elastic Stack, potocznie ELK (Elasticsearch, Logstash, Kibana). W tym trio Kibana jest twarzą całości: interfejsem, przez który oglądasz i analizujesz dane leżące w Elasticsearch. Kluczowa różnica względem Grafany jest fundamentalna. Kibana czyta tylko i wyłącznie Elasticsearch. Nie podłączysz jej do Prometheusa ani do bazy SQL. W zamian dostajesz to, w czym Grafana jest słabsza: pełnotekstowe przeszukiwanie ogromnych zbiorów logów i zdarzeń.
Gdyby zapamiętać z tego artykułu tylko jedną rzecz, powinna to być ta. Grafana jest agnostyczna wobec źródła, Kibana jest przywiązana do Elasticsearch. Poniższy zrzut z Grafany to katalog dostępnych typów źródeł danych. Widać Prometheus, Graphite, InfluxDB, OpenTSDB, Loki, a niżej listy pojawia się także Elasticsearch. To dlatego Grafana potrafi na jednym ekranie połączyć metryki z Prometheusa i logi z Elasticsearch. Kibana takiego menu po prostu nie ma, bo źródło jest zawsze jedno.
Uproszczenie, które prawie zawsze się sprawdza: Grafana to świat metryk, Kibana to świat logów. Metryki to liczby zbierane w czasie, na przykład "użycie CPU co 15 sekund". Logi to zapisy zdarzeń z treścią, na przykład "o 14:03 użytkownik X dostał błąd 500 na adresie /zamowienie". Grafana świetnie pokazuje trendy liczbowe. Kibana świetnie pozwala znaleźć konkretne zdarzenie wśród milionów wpisów, przefiltrować je i policzyć.
Nie jest to mur nie do przejścia. Grafana z dodatkiem Loki radzi sobie z logami, a Kibana potrafi rysować wykresy metryk zapisanych w Elasticsearch. Ale każde z narzędzi ma stronę, po której jest u siebie, i warto to szanować przy wyborze.
Tu Kibana ma wyraźną przewagę. Widok Discover to interaktywne przeszukiwanie surowych dokumentów: histogram wystąpień w czasie, lista pól do filtrowania po lewej i tabela zdarzeń, którą przeszukujesz językiem zapytań KQL. Dla kogoś, kto goni w logach przyczynę awarii, to codzienne narzędzie pracy.
Grafana ma swój odpowiednik pod nazwą Explore, gdzie zadajesz doraźne zapytania do źródła bez budowania dashboardu. Jest bardzo dobry przy metrykach z Prometheusa, ale przy przekopywaniu logów pełnotekstowo Kibana daje wygodniejsze i bogatsze doświadczenie.
Oba narzędzia budują tablice z wielu paneli i oba wyglądają nowocześnie. Kibana na danych z Elasticsearch potrafi tworzyć rozbudowane wizualizacje: mapy geograficzne, wykresy przepływów, tabele z warunkowym kolorowaniem. Poniżej przykładowy dashboard analizy lotów z heatmapą opóźnień i licznikami.
Różnica jest bardziej w filozofii niż w urodzie. Dashboard Grafany zwykle odpowiada na pytanie "czy system działa poprawnie w tej chwili", a dashboard Kibany na pytanie "co ciekawego wynika z danych, które zebraliśmy". Pierwsze to operacyjny monitoring, drugie to analityka.
Grafana ma dojrzały, wbudowany system alertów: definiujesz regułę na dowolnym źródle (na przykład "powiadom, gdy CPU przekroczy 90 procent przez 5 minut") i podpinasz kanały, jak e-mail czy Slack. To jeden z powodów, dla których zespoły operacyjne wybierają Grafanę do monitoringu. W świecie Elastic alerty również istnieją, ale bogatsze reguły bywają częścią płatnych funkcji, a nie samej darmowej Kibany.
| Kryterium | Grafana | Kibana |
|---|---|---|
| Źródła danych | Dziesiątki (Prometheus, InfluxDB, Loki, SQL, Elasticsearch i więcej) | Tylko Elasticsearch |
| Główne zastosowanie | Metryki, monitoring infrastruktury i aplikacji | Logi, wyszukiwanie i analiza danych tekstowych |
| Przechowywanie danych | Nie przechowuje, tylko wizualizuje | Ściśle związana z Elasticsearch |
| Wyszukiwanie pełnotekstowe | Ograniczone | Bardzo mocne (widok Discover, KQL) |
| Alerty | Wbudowane i rozbudowane w wersji darmowej | Podstawowe za darmo, bogatsze w wersjach płatnych |
| Ekosystem | Neutralny, spina wiele światów | Elastic Stack (ELK), APM, bezpieczeństwo |
| Licencja | Otwartoźródłowa, płatne Enterprise i Cloud | Otwartoźródłowa, część funkcji płatna |
W praktyce w wielu firmach Grafana i Kibana współistnieją. Typowy układ to Grafana do metryk (kondycja serwerów, wydajność aplikacji) i Kibana do logów (dochodzenie przyczyn awarii, audyt zdarzeń). Co więcej, ponieważ Grafana potrafi czytać Elasticsearch, część zespołów oglada te same logi zarówno w Kibanie, jak i na wspólnym dashboardzie Grafany obok metryk. To nie wybór albo-albo, tylko dwa narzędzia, które dobrze się uzupełniają.
Pytanie "Grafana vs Kibana" najczęściej ma odpowiedź "to zależy od reszty Twojego stosu". Jeśli myślisz metrykami i wieloma źródłami, idź w Grafanę. Jeśli Twój świat to logi w Elasticsearch, idź w Kibanę. A jeśli robisz poważny monitoring produkcyjny, prawie na pewno skończysz z jednym i drugim, bo razem pokrywają cały obraz: liczby i zdarzenia, trend i szczegół, "czy działa" i "dlaczego nie zadziałało".
Chcesz opanować te narzędzia w praktyce, z ćwiczeniami na prawdziwych serwerach? Poprowadzą Cię nasi trenerzy praktycy. Wybierz szkolenie dopasowane do Twojej strony mocy:
Szkolenie Elastic Stack (ELK): Elasticsearch, Logstash, Kibana
Szkolenie Monitoring i Observability: Grafana, Prometheus, Loki, Zabbix (wszystko naraz)
Nie ma jednego zwycięzcy, bo narzędzia rozwiązują inne problemy. Grafana jest lepsza do metryk i monitoringu infrastruktury z wielu źródeł jednocześnie. Kibana jest lepsza do przeszukiwania i analizy logów, gdy dane trzymasz w Elasticsearch. W wielu firmach używa się obu naraz.
Tak. Elasticsearch to jedno z wielu wbudowanych źródeł danych Grafany. Możesz więc trzymać logi w Elasticsearch i rysować z nich dashboardy w Grafanie, obok metryk z Prometheusa. Kibana odwrotnie nie potrafi, bo czyta wyłącznie Elasticsearch.
Podstawowa Kibana jest darmowa i otwartoźródłowa, tak samo jak Grafana. Część zaawansowanych funkcji Elastic wymaga płatnej licencji. Grafana w wersji OSS również jest darmowa, a płatne są dodatki Grafana Enterprise i chmura Grafana Cloud.
Jeśli logi są w Elasticsearch, do ich przeszukiwania wygodniejsza jest Kibana. Jeśli budujesz stos wokół Prometheusa, naturalnym wyborem na logi jest Loki oglądany w Grafanie. Obie drogi są poprawne, decyduje reszta Twojego stosu.
Komentarze (0)
Brak komentarzy...