Grafana to narzędzie do oglądania danych: pobiera je z systemów, które je zbierają, i układa w wykresy, liczniki i tablice. Najbliższy obraz to deska rozdzielcza samochodu. Prędkościomierz nie mierzy prędkości, tylko pokazuje wskazanie czujnika w kole, a poziom paliwa bierze z pływaka w baku. Zepsuty wskaźnik nie zatrzymuje samochodu, a sprawny wskaźnik przy zepsutym czujniku pokazuje spokój, którego nie ma.
Grafana sama niczego nie zbiera
To jest zdanie, od którego trzeba zacząć, bo cała reszta z niego wynika. Dokumentacja producenta opisuje Grafanę jako narzędzie pozwalające odpytywać, wizualizować, alarmować i badać metryki, dzienniki oraz ślady tam, gdzie one są przechowywane. Innymi słowy dane zostają w swoich systemach, a Grafana sięga po nie na żądanie.
Miejsce, z którego bierze dane, nazywa się źródłem danych i konfiguruje się je osobno. Źródłem bywa system monitorujący, baza szeregów czasowych, zwykła baza danych albo magazyn dzienników. Jedna Grafana obsługuje wiele źródeł naraz i to jest jej główna zaleta: pozwala postawić obok siebie wykres z systemu monitorującego serwery i wykres z bazy programu magazynowego, których nikt wcześniej nie oglądał razem.
Panel, pulpit i zapytanie
Panel to pojedynczy element: wykres, licznik, tabela. Pod każdym panelem stoi zapytanie do źródła danych, czyli pytanie zadane w języku tego źródła. Pulpit jest zbiorem paneli oglądanych razem, zwykle z jednym wspólnym zakresem czasu i z listami wyboru pozwalającymi przełączać go między serwerami albo oddziałami.
Praktyczna zasada przy budowaniu brzmi: jeden panel odpowiada na jedno pytanie. Pulpit powstaje z listy pytań, na które ktoś naprawdę chce znać odpowiedź, a nie z listy dostępnych wskaźników.
Grafana a system monitorowania
Rozgraniczenie, które porządkuje najwięcej. System monitorowania, na przykład Zabbix albo Prometheus, wykonuje pomiary, przechowuje historię i wie, co jest awarią. Grafana pokazuje.
Z tego podziału wynika kilka rzeczy. Awaria Grafany nie zatrzymuje zbierania danych, więc historia nie ma dziury. Za to wykres pokazujący spokojną linię potrafi być wykresem odciętym od źródła, które przestało odpowiadać kilka godzin wcześniej, a nie obrazem spokoju w firmie. Dlatego pierwszym panelem na każdym pulpicie powinno być coś, co pokazuje, kiedy dane wpłynęły ostatni raz.
Grafana ma również własny system powiadamiania o przekroczonych progach, więc alerty można budować po obu stronach. Trzymanie ich w dwóch miejscach naraz kończy się zwykle podwójnymi powiadomieniami i zestawem reguł, którego nikt nie potrafi odtworzyć. Wybiera się jedno miejsce i tam się je pisze.
Gdzie to się przydaje w firmie
Wszędzie tam, gdzie liczby są rozrzucone po systemach, do których zagląda tylko administrator: zajętość dysków i pamięci, obciążenie łącza, czas odpowiedzi sklepu, liczba zgłoszeń w kolejce, powodzenie zadań kopiowania, zużycie w chmurze. Pulpit wystawiony na ekranie w biurze albo otwierany na rannym spotkaniu zamienia to w jeden widok.
Drugim zastosowaniem jest rozmowa o pieniądzach. Wykres pokazujący, że łącze od trzech miesięcy pracuje w godzinach szczytu na granicy przepustowości, jest lepszym argumentem za jego zmianą niż jakikolwiek opis.
Pulpit, którego nikt nie otwiera
Najczęstsza porażka nie jest techniczna. Pulpit zbudowany przez technika dla siebie zawiera kilkanaście wykresów systemowych, których właściciel firmy nie potrafi zinterpretować, więc po dwóch tygodniach przestaje go otwierać. Wykresy nadal się rysują i wygląda to na działający monitoring.
Lekarstwem jest zmiana kolejności pracy: najpierw pytanie, kto ma na to patrzeć i jakie decyzje ma na tej podstawie podejmować, a dopiero potem wybór wskaźników. Pulpit dla właściciela firmy zawiera zwykle trzy albo cztery panele i żaden z nich nie nazywa się tak jak parametr systemowy. Miarą wartości jest liczba decyzji podjętych na jego podstawie, a nie liczba wskaźników na ekranie.
Kiedy Grafana nie jest potrzebna
Nie ma jej po co stawiać tam, gdzie nie ma jeszcze czego oglądać, czyli zanim powstanie zbieranie danych. To najczęstsza pomyłka w kolejności: narzędzie do rysowania kupuje się po tym, jak pomiary już istnieją, nie przed. Nie zastępuje też alertów, bo nikt nie patrzy na ekran w nocy, ani przeglądu wykonanego przez człowieka. Przy jednym serwerze i jednej usłudze wystarczy zwykle widok wbudowany w system monitorujący, a osobne narzędzie dokłada tylko kolejny element do utrzymania.