Grafana, panele nad danymi z innych systemów
Grafana to warstwa prezentacji: odpytuje cudze bazy i rysuje z odpowiedzi panele, tabele i alerty. Sama nie zbiera ani nie przechowuje metryk, logów i śladów. Bieżące wydanie to 13.2.0, paczka na serwerze pobrań ma datę 18 sierpnia 2026 roku, a kod serwera jest na licencji AGPL-3.0-only z wyliczoną listą katalogów na Apache 2.0.
Co Grafana rysuje, a czego nie zbiera
Grafana nie jest bazą danych. To serwer, który przy każdym otwarciu panelu wysyła zapytanie do zewnętrznego źródła i rysuje odpowiedź. Własna baza Grafany, domyślnie plik SQLite w katalogu data/, opcjonalnie MySQL albo PostgreSQL, trzyma definicje dashboardów, konta, uprawnienia, reguły alertów i historię ich stanów. Nie trafiają do niej szeregi czasowe ani linie logów.
Wynikają z tego dwie rzeczy, które w praktyce oszczędzają sporo nieporozumień. Pierwsza: retencji danych nie ustawia się w Grafanie. Jeśli Prometheus trzyma dane piętnaście dni, wykres z zakresem trzech miesięcy będzie pusty niezależnie od ustawień panelu. Druga: wolny dashboard prawie zawsze oznacza wolne zapytanie w źródle albo zbyt szeroki zakres czasu, a nie problem samej Grafany.
Uruchomienie z paczki wygląda tak:
curl -LO https://dl.grafana.com/oss/release/grafana-13.2.0.linux-amd64.tar.gz
tar -xzf grafana-13.2.0.linux-amd64.tar.gz
cd grafana-13.2.0
./bin/grafana serverW rozpakowanym katalogu leżą bin/, conf/ z plikiem defaults.ini, data/, docs/, packaging/, plugins-bundled/, public/, tools/, a w korzeniu LICENSE, NOTICE.md i VERSION. Cała reszta stosu, czyli to, co faktycznie zbiera dane, jest osobno. Skrypt packaging/wrappers/grafana-server nadal siedzi w paczce, ale wypisuje ostrzeżenie, że nazwa grafana-server jest przestarzała i zniknie w przyszłym wydaniu, po czym i tak woła bin/grafana server.
Dokumentacja wydania 13.2.0 wymienia dziewiętnaście wbudowanych źródeł danych, pogrupowanych według zastosowania. Metryki: AWS CloudWatch, Azure Monitor, Google Cloud Monitoring, Graphite, InfluxDB, OpenTSDB, Prometheus. Logi: Elasticsearch, Loki. Ślady: Jaeger, Tempo, Zipkin. Profile: Parca, Pyroscope. Bazy SQL: Microsoft SQL Server, MySQL, PostgreSQL. Alerty: Alertmanager. Testy: TestData. Do tego trzy źródła specjalne, których nie liczy się razem z powyższymi: Grafana (dane losowe i pliki z instalacji), Mixed (kilka źródeł w jednym panelu) i Dashboard (wynik innego panelu z tego samego dashboardu). Razem dwadzieścia dwa wpisy na liście wyboru.
Czego na tej liście nie ma, trzeba doinstalować jako wtyczkę. ClickHouse wymaga wtyczki grafana-clickhouse-datasource, MongoDB i Snowflake są wtyczkami Enterprise, dostępnymi w Grafana Cloud i wymagającymi licencji Enterprise przy własnej instalacji. PostgreSQL jest wbudowany, więc panel nad tabelą aplikacyjną nie wymaga niczego poza danymi dostępowymi.
Do pełnego stosu obserwowalności potrzebujesz jeszcze co najmniej dwóch elementów: czegoś, co dane zbiera na maszynie (agent albo kolektor), i czegoś, co je przechowuje (baza szeregów czasowych albo magazyn logów). Grafana jest trzecim elementem, nie jedynym.
Licencja sprawdzona w trzech źródłach
Licencja Grafany to najczęściej mylona rzecz w tym projekcie, bo repozytorium ma dwa pliki licencyjne, a pakiety npm mówią coś innego niż serwer. Sprawdzenie wygląda tak:
# 1. pliki licencyjne pod tagiem wydania, nie z gałęzi głównej
curl -s https://raw.githubusercontent.com/grafana/grafana/v13.2.0/LICENSE | head -2
curl -s https://raw.githubusercontent.com/grafana/grafana/v13.2.0/LICENSING.md
# 2. pole license w rejestrze pakietów dla bibliotek frontendu
curl -s https://registry.npmjs.org/@grafana/data | grep -o '"license":"[^"]*"' | head -1
# 3. zawartość opublikowanego artefaktu
curl -sO https://registry.npmjs.org/@grafana/data/-/data-13.2.0.tgz
tar -tzf data-13.2.0.tgz | grep -i licenŹródło pierwsze. Plik LICENSE pod tagiem v13.2.0 zawiera pełny tekst GNU Affero General Public License w wersji 3 z 19 listopada 2007 roku i ma 34 523 bajty. Obok leży LICENSING.md, który zaczyna się od zdania, że domyślną licencją projektu jest AGPL-3.0-only, a następnie wylicza katalogi objęte Apache 2.0: packages/grafana-data/, packages/grafana-e2e-selectors/, packages/grafana-runtime/, packages/grafana-ui/, packaging/, kinds/, pkg/kinds/, pkg/kindsys/, pkg/registry/schemas/, grafana-mixin/, public/app/features/explore/TraceView/components, public/img/icons/solid/ i public/img/icons/unicons/. Katalog public/vendor/ pozostaje na oryginalnych licencjach dostawców, a jeden plik pomocniczy w .github/workflows/ jest na MIT.
Źródło drugie. Serwer Grafany jest programem w Go i nie ma go w żadnym rejestrze pakietów, więc pola license dla niego po prostu nie ma. W npm są za to biblioteki, przeciw którym kompiluje się wtyczki: @grafana/data, @grafana/ui i @grafana/runtime w wersji 13.2.0, wszystkie opublikowane 18 sierpnia 2026 roku z polem license równym Apache-2.0. To zgadza się z listą z LICENSING.md.
Źródło trzecie. Paczka @grafana/data w wersji 13.2.0 waży 1,2 MB i zawiera plik LICENSE_APACHE2 z tekstem Apache 2.0 oraz katalogi dist/cjs, dist/esm i dist/types, czyli realny kod, a nie sam opis. Paczka serwera z dl.grafana.com ma w korzeniu LICENSE z tekstem AGPL i NOTICE.md zaczynający się od linijki o prawach autorskich Grafana Labs z lat 2014 do 2021 i informacji, że oprogramowanie wywodzi się z Kibany. Pełna lista plików tej paczki liczy 15 031 wpisów i w korzeniu zawiera tylko LICENSE, NOTICE.md, VERSION, Dockerfile i README.md. Pliku LICENSING.md nie ma w niej w ogóle, podobnie jak katalogu packages/, bo frontend jedzie już skompilowany w public/build. Lista wyjątków na Apache 2.0 jest więc dostępna wyłącznie w repozytorium, a nie w artefakcie, który stawiasz na serwerze.
Zmiana licencji ma konkretną datę. Plik LICENSE pod tagiem v7.5.7 zawiera Apache License 2.0, a pod tagiem v8.0.0 już AGPL. Wpis na blogu Grafana Labs z 21 kwietnia 2021 roku, podpisany przez Raja Dutta, zapowiada przeniesienie Grafany, Loki i Tempo z Apache 2.0 na AGPLv3 i zastrzega, że wtyczki, agenci i część bibliotek zostają na Apache. Data to 2021 rok, a nie moment, w którym ktoś dziś opisuje projekt jako „open source na Apache”; taki opis jest po prostu przeterminowany o pięć lat.
Co AGPL zmienia w trzech sytuacjach
AGPL różni się od GPL jednym paragrafem, trzynastym, który dokłada obowiązek udostępnienia kodu użytkownikom korzystającym z programu przez sieć. Rozbicie tego na trzy przypadki załatwia większość pytań.
Przypadek pierwszy: używasz Grafany bez zmian. Stawiasz obraz albo paczkę u siebie, konfigurujesz źródła, budujesz dashboardy. Nie modyfikujesz kodu, więc nie masz nic do udostępnienia. Dashboardy, reguły alertów i pliki provisioningu są Twoje: to dane wejściowe programu, a nie utwór zależny od jego kodu. Ten przypadek obejmuje ogromną większość wdrożeń i nie wiąże się z żadnym praktycznym obowiązkiem.
Przypadek drugi: modyfikujesz Grafanę na własne potrzeby. Dokładasz łatkę, zmieniasz zachowanie panelu, budujesz własny obraz z poprawką. Dopóki zmodyfikowana wersja stoi w Twojej sieci i korzystają z niej Twoi ludzie, paragraf trzynasty każe zaoferować im kod źródłowy zmodyfikowanej wersji. W praktyce znaczy to tyle, że w firmie powinno dać się wskazać repozytorium z tą łatką. Obowiązek nie polega na publikacji w internecie, tylko na udostępnieniu tym, którzy z programu korzystają.
Przypadek trzeci: oferujesz Grafanę jako usługę osobom spoza organizacji. Tu AGPL działa naprawdę. Jeśli hostujesz zmodyfikowaną Grafanę dla klientów, musisz zaoferować im pełny kod źródłowy swojej wersji, na warunkach AGPL, czyli tak, żeby mogli go dalej modyfikować i rozpowszechniać. Jeśli hostujesz wersję niezmodyfikowaną, paragraf trzynasty nie dokłada nowych obowiązków, ale przy rozpowszechnianiu binariów nadal obowiązuje wymóg dołączenia licencji i zapewnienia dostępu do kodu. To jest ta granica, której nie da się obejść dopisaniem własnej warstwy logowania: warstwa logowania w kodzie Grafany to modyfikacja.
Osobna sprawa to wtyczki. Wtyczki backendowe działają jako osobne procesy komunikujące się z serwerem, a wtyczki frontendowe kompilują się przeciw pakietom @grafana/data, @grafana/ui i @grafana/runtime, czyli dokładnie tym katalogom, które LICENSING.md wyjmuje spod AGPL i oddaje na Apache 2.0. Taki podział pozwala pisać wtyczki zamknięte. Zbieżność listy katalogów z listą pakietów dla twórców wtyczek jest oczywista, ale sam dokument licencyjny nie tłumaczy motywacji, więc traktuj to jako moją interpretację układu, nie jako cytat. To nie jest porada prawna.
Enterprise i reszta stosu Grafana Labs
Grafana Enterprise to komercyjna edycja tego samego serwera, wydawana jako osobny artefakt. Adres dl.grafana.com/enterprise/release/grafana-enterprise-13.2.0.linux-amd64.tar.gz odpowiada poprawnie, natomiast próba pobrania pliku LICENSE z repozytorium grafana/grafana-enterprise kończy się odpowiedzią 404, więc kod tej edycji nie jest publiczny na tych samych zasadach co OSS.
Dokumentacja wymienia, co Enterprise dokłada: uwierzytelnianie SAML, synchronizację zespołów z dostawcą tożsamości, rozszerzoną integrację z LDAP, role chronione przed konwersją przy zmianie dostawcy, kontrolę dostępu opartą na rolach, uprawnienia do źródeł danych, pamięć podręczną zapytań i zasobów, raporty PDF z dashboardu z harmonogramem wysyłki, własną kolorystykę i logo, statystyki użycia, zapytania nagrywane, integrację z Vaultem, dziennik zmian w instancji oraz zestaw wtyczek Enterprise do źródeł danych. Do tego wsparcie w trybie 24x7x365.
Reszta stosu wydawana przez Grafana Labs też ma niejednolite licencje i to jest miejsce, w którym najłatwiej się pomylić.
| Projekt | Licencja | Rola w stosie |
|---|---|---|
| Grafana 13.2.0 | AGPL-3.0-only | panele, alerty, eksploracja |
| Loki | AGPL-3.0 | magazyn logów |
| Tempo | AGPL-3.0 | magazyn śladów |
| Mimir | AGPL-3.0 | magazyn metryk |
| Pyroscope | AGPL-3.0 | magazyn profili |
| k6 | AGPL-3.0 (plik LICENSE.md) | testy obciążeniowe |
| Alloy | Apache 2.0 | zbieranie i wysyłka danych |
@grafana/data, @grafana/ui, @grafana/runtime | Apache 2.0 | biblioteki dla wtyczek |
Alloy jest tu wyjątkiem i wyjątek ten jest logiczny: agent instaluje się na cudzych maszynach, a licencja copyleft na agencie odstraszałaby użytkowników. Zwróć uwagę na drobiazg przy k6: plik nazywa się LICENSE.md, nie LICENSE, więc skrypt audytowy szukający tylko jednej nazwy zaraportuje brak licencji.
Konfiguracja jako kod
Grafana czyta katalog conf/provisioning/ przy starcie i zakłada opisane w nim obiekty. Plik przykładowy dla źródeł danych wymienia pola wprost:
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
access: proxy
orgId: 1
uid: prom_main
url: http://prometheus:9090
isDefault: true
basicAuth: true
basicAuthUser: grafana
withCredentials: false
jsonData:
tlsAuth: false
tlsAuthWithCACert: false
secureJsonData:
tlsCACert: '...'
tlsClientCert: '...'Pola name, type i access są wymagane, access przyjmuje wartości proxy albo direct, a uid służy do odwoływania się do źródła w innych plikach. Wszystko, co ma być zaszyfrowane w bazie, wędruje do secureJsonData, reszta do jsonData.
Reguły alertów mają własny plik przykładowy i własny zestaw pól:
apiVersion: 1
groups:
- orgId: 1
name: my_rule_group
folder: my_first_folder
interval: 60s
rules:
- uid: my_id_1
title: my_first_rule
condition: A
data:
- refId: A
datasourceUid: "__expr__"
model:
expression: 1==0
intervalMs: 1000
maxDataPoints: 43200
refId: A
type: math
dashboardUid: my_dashboard
panelId: 123
noDataState: Alerting
executionErrorState: Alerting
for: 60s
labels:
team: sre_team_1
isPaused: false
notification_settings:
receiver: grafana-default-email
group_by: ["alertname", "grafana_folder", "region"]Dwie pułapki siedzą w tym pliku. interval to częstotliwość liczenia całej grupy, a for to czas, przez jaki warunek musi być spełniony, zanim alert przejdzie ze stanu Pending do Firing; pomylenie ich daje alerty albo za wolne, albo strzelające na pojedynczym odczycie. Druga: uid reguły nie może przekroczyć czterdziestu znaków i dopuszcza tylko litery, cyfry, myślnik i podkreślenie, więc generowanie identyfikatorów ze ścieżek usług potrafi cicho przekroczyć limit. Pole group_by, jeśli jest ustawione, musi zawierać etykiety alertname i grafana_folder, chyba że użyjesz wartości specjalnej ....
W Grafana Cloud limity instancji są widoczne jako zwykłe metryki w źródle grafanacloud-usage:
grafanacloud_instance_metrics_limits{limit_name="max_global_series_per_user"}
grafanacloud_logs_instance_limits{limit_name="ingestion_rate_mb"}
grafanacloud_traces_instance_limits{limit_name="max_bytes_per_trace"}Wartości domyślne z dokumentacji to między innymi ingestion_rate na poziomie 10 000 próbek na sekundę, max_global_series_per_user na poziomie 150 000 serii, ingestion_rate_mb dla logów na poziomie 5 MB i max_global_streams_per_user na poziomie 5 000 strumieni. Część z nich skaluje się automatycznie wraz ze zużyciem. To limity techniczne instancji, a nie to samo co przydział z planu cenowego.
Grafana Cloud, plan darmowy i rachunek na przykładzie
Cennik na stronie Grafana Labs renderuje się bez JavaScriptu, więc dało się go odczytać wprost z surowego HTML. Na górze strony wisi baner o zmianie modelu rozliczeń, w którym firma nazywa dotychczasową zasadę zepsutą i zapowiada jej zmianę, więc poniższe liczby traktuj jako stan na 22 sierpnia 2026 roku, a nie jako trwałą tabelę.
| Pozycja | Free | Pro | Enterprise (Cloud) |
|---|---|---|---|
| Opłata stała | 0 USD | 19 USD miesięcznie | od 25 000 USD rocznie |
| Metryki w cenie | 10 tys. serii aktywnych | 10 tys. serii aktywnych | wg umowy |
| Logi i ślady w cenie | po 50 GB miesięcznie | po 50 GB miesięcznie | wg umowy |
| Retencja metryk | 14 dni | 13 miesięcy | własna |
| Retencja logów i śladów | 14 dni | 30 dni | własna |
| Użytkownicy w cenie | 3 aktywnych | 3 aktywnych | wg umowy |
| Wsparcie | społeczność | poczta 8x5 | premium |
Stawki powyżej progu: metryki 6,50 USD za tysiąc serii w przedziale od 10 tys. do 100 tys., 5,90 USD w przedziale od 100 tys. do 200 tys., 5,50 USD powyżej 200 tys. Logi i ślady rozbite są na trzy składniki liczone od gigabajta: przyjęcie 0,050 USD, zapis 0,400 USD i przechowywanie 0,100 USD. Użytkownik ponad trójkę darmową kosztuje 8,00 USD miesięcznie, a użytkownik z dostępem do wtyczek Enterprise 55,00 USD. Plan Enterprise schodzi z metrykami do 3 USD za tysiąc serii przy zobowiązaniu rocznym.
Policzmy rachunek dla planu Pro przy 25 tys. serii aktywnych i 200 GB logów miesięcznie. Opłata stała to 19,00 USD. Metryki: 25 tys. minus 10 tys. w cenie daje 15 tys. serii ponad próg, po 6,50 USD za tysiąc, czyli 97,50 USD. Logi: 200 GB minus 50 GB w cenie daje 150 GB, a suma trzech składników to 0,55 USD za gigabajt, czyli 82,50 USD. Razem 19,00 plus 97,50 plus 82,50, to jest 199,00 USD miesięcznie.
Dwa zastrzeżenia do tej arytmetyki. Po pierwsze, składnik za przechowywanie liczony jest od danych trzymanych w czasie, a cennik nie podaje przelicznika między gigabajtem przyjętym a gigabajtem miesiąc przechowywanym; powyższy rachunek zakłada, że w danym miesiącu jest to ta sama liczba. Po drugie, opłata 19 USD pojawia się na stronie przy każdym produkcie osobno, z inną zawartością w cenie za każdym razem. Czytam to jako jedną opłatę platformową z osobnymi progami dla każdego produktu, ale strona nie mówi tego wprost, a różnica między jednym a kilkoma dziewiętnastkami zmienia rachunek.
Po przekroczeniu limitu na planie Free nie ma naliczania nadwyżki, bo plan nie wymaga karty płatniczej. Nadmiar jest odrzucany przez limity instancji, te same, które widać w metrykach grafanacloud_instance_metrics_limits. Strona cennika opisuje plan Free wyłącznie przez limity i nie wspomina o żadnej stawce za przekroczenie, więc mechanizm odcięcia wynika z braku alternatywy, a nie z osobnego zdania w cenniku.
Grafana obok Sentry, Axiom, PostHog i OpenReplay
Te narzędzia bywają wrzucane do jednego worka z napisem monitoring, choć odpowiadają na różne pytania i trzymają dane w różnych miejscach.
| Pytanie | Narzędzie | Gdzie leżą dane |
|---|---|---|
| Który wyjątek wywalił to żądanie i w której linii | Sentry | u dostawcy albo we własnej instalacji |
| Co jest w logach z ostatniej godziny | Axiom | u dostawcy |
| Jak użytkownicy przechodzą przez lejek | PostHog | u dostawcy albo we własnej instalacji |
| Co użytkownik widział na ekranie przed błędem | OpenReplay | we własnej instalacji albo w chmurze |
| Jak to wszystko wygląda razem na jednym ekranie | Grafana | nigdzie, Grafana pyta cudze systemy |
Ostatni wiersz jest sednem różnicy. Sentry, Axiom, PostHog i OpenReplay przyjmują dane i je przechowują, więc każde z nich jest jednocześnie zbieraczem i widokiem. Grafana jest samym widokiem. Dlatego pytanie „Sentry czy Grafana” zwykle nie ma sensu: pierwsze zbiera błędy, drugie potrafi je pokazać obok metryk z Prometheusa, o ile ktoś wcześniej te błędy gdzieś zapisał.
Przy własnym hostowaniu Grafana wchodzi wygodnie w te same układy co reszta narzędzi z tej kolekcji. Panele obok aplikacji uruchamianych przez Coolify albo Dokploy sprowadzają się do jednego kontenera z podmontowanym wolumenem na katalog data/ i plikami provisioningu w obrazie.
Typowe błędy
Pierwszy: traktowanie Grafany jak magazynu. Pytanie „jak zwiększyć retencję w Grafanie” nie ma odpowiedzi, bo retencję ustawia się w Prometheusie, Loki albo w bazie SQL. Grafana pamięta wyłącznie dashboardy i alerty.
Drugi: audyt licencji czytający tylko plik LICENSE. Zaraportuje AGPL dla wszystkiego, także dla pakietów @grafana/*, które są na Apache 2.0. Odwrotny błąd jest gorszy: sprawdzenie samego @grafana/ui w rejestrze npm i wywnioskowanie, że serwer też jest na Apache.
Trzeci: opis Grafany jako projektu na Apache 2.0. To prawda do wersji 7.5 włącznie. Od 8.0.0 obowiązuje AGPL i zmiana ta ma pięć lat.
Czwarty: zakresy zależności równorzędnych w rodzinie pakietów. @grafana/ui w wersji 13.2.0 deklaruje react w wersji co najmniej 19, natomiast @grafana/scenes w wersji 8.16.1, opublikowany 20 sierpnia 2026 roku, deklaruje react w zakresie ^18.0.0 przy jednoczesnym @grafana/ui w wersji co najmniej 11.6. Zestawienie obu pakietów w najnowszych wersjach daje sprzeczne wymagania wobec Reacta i menedżer pakietów to zgłosi.
Piąty: przypinanie wersji bez sprawdzenia, czy nie jest wycofana. W rejestrze wiszą oznaczone jako wycofane @grafana/ui 9.3.0 z adnotacją o zepsutej publikacji oraz @grafana/ui 10.3.0 z adnotacją, że ta wersja została opublikowana przez pomyłkę i nie zawiera kodu Grafany 10.3.0.
Szósty: mylenie limitów instancji z przydziałem z planu. Domyślny max_global_series_per_user to 150 000 serii, a plan darmowy daje 10 tys. serii aktywnych. To dwie różne liczby o różnym znaczeniu i pierwsza nie zwalnia z drugiej.
Siódmy: liczenie na to, że plan darmowy obsłuży zespół. Trzech aktywnych użytkowników miesięcznie wystarczy do prototypu, czwarta osoba oznacza przejście na Pro i opłatę 8,00 USD za każdego kolejnego aktywnego użytkownika.
FAQ
Czy Grafana przechowuje moje metryki?
Nie. Grafana trzyma we własnej bazie dashboardy, użytkowników, uprawnienia i reguły alertów. Metryki, logi i ślady zostają w źródłach, a Grafana odpytuje je przy każdym odświeżeniu panelu.
Czy AGPL zmusza mnie do publikowania dashboardów?
Nie. Dashboardy i pliki provisioningu to dane wejściowe, a nie kod Grafany. Obowiązek dotyczy kodu źródłowego zmodyfikowanej wersji programu i tylko wtedy, gdy ktoś z tej wersji korzysta.
Czy mogę hostować Grafanę dla swoich klientów?
Możesz, ale jeśli hostujesz wersję zmodyfikowaną, musisz zaoferować tym klientom kod źródłowy swoich zmian na warunkach AGPL. Przy wersji niezmodyfikowanej paragraf trzynasty nie dokłada nowych obowiązków. Rozstrzygnięcie własnego przypadku zostaw prawnikowi.
Czy pisząc wtyczkę muszę wydać ją na AGPL?
Pakiety @grafana/data, @grafana/ui i @grafana/runtime, przeciw którym kompilują się wtyczki, są wyjęte spod AGPL i objęte Apache 2.0 wprost w pliku LICENSING.md. Wtyczki backendowe działają jako osobne procesy. Zamknięte wtyczki istnieją i są sprzedawane w edycji Enterprise.
Ile kosztuje Grafana Cloud po przekroczeniu darmowego planu?
Plan Pro to 19 USD miesięcznie plus zużycie: 6,50 USD za tysiąc serii metryk powyżej 10 tys., 0,55 USD za gigabajt logów w sumie trzech składników i 8,00 USD za każdego aktywnego użytkownika powyżej trzech. Przykład z 25 tys. serii i 200 GB logów daje 199,00 USD miesięcznie.
Czym Grafana różni się od Sentry albo Axiom?
Sentry i Axiom przyjmują dane i je przechowują, więc odpowiadają na pytania o błędy i o logi we własnym zakresie. Grafana niczego nie przyjmuje: pokazuje to, co leży w innych systemach, i pozwala zestawić kilka źródeł na jednym ekranie.
Kod źródłowy i oba pliki licencyjne znajdziesz w repozytorium grafana/grafana, dokumentację źródeł danych w dziale Data sources, a aktualne stawki w cenniku Grafana Cloud.