U današnjem digitalnom svijetu, u svakom trenutku širom svijeta nastaju nepregledne rijeke podataka iz najrazličitijih mogućih izvora. Tako dugo dok za njihovu analizu i tumačenje u potpunosti ne bude iskorišten AI, vjerojatno najbolji način za razumijevanje ogromne količine podataka je njihova vizualizacija na način blizak čovjeku.
Jedan od najpoznatijih i najboljih alata za takvu namjenu je Grafana, ujedno tema današnjeg teksta.
Što je zapravo Grafana? Riječ je o alatu koji može pristupiti „sirovim“ podacima iz velikog broja izvora podataka, na njih postavljati različite vrste upita u stvarnom vremenu i to u obliku najpogodnijem za određenu vrstu podataka, a nakon toga ih vizualizirati na gotovo sve zamislive načine izmišljene za takvu zadaću. Osim samog prikaza podataka, Grafana nudi i mogućnost pripreme različitih vrsta uzbunjivanja korisnika u slučajevima kad promatrane vrijednosti analiziranih podataka izlaze izvan sigurnog područja.
Sve zajedno primjenjivo je na ogromnom broju područja – od praćenja rada servera, preko analize funkcioniranja brojnih softverskih sustava, do nadziranja najraznolikije opreme koja nudi mogućnost izvoza prikupljenih podataka. I jednako važno, sve to skupa je pripremljeno i zapakirano u Grafanu tako da bude jednostavno za korištenje najširem krugu korisnika, a ne samo nekolicini „frikova“ iz NASA-e kako bi se mogli hvaliti prezentacijom podataka prikupljenih na svemirskim misijama.
Instalacija i troškovi korištenja
Već prvih nekoliko uvodnih rečenica trebalo bi sugerirati da je riječ o vrlo kompleksnom alatu, kojeg je prvo potrebno pravilno instalirati i konfigurirati za normalno korištenje. Jednako važno - samo korištenje bi trebalo biti takvo da financijski previše ne „uznemiri“ potencijalnog korisnika.
Grafana se u praksi može koristiti na dva različita načina. Jedan je u oblaku pripremljenom od strane samog proizvođača, a drugi je instalacija, podešavanje i održavanje sustava na vlastitoj hardverskoj infrastrukturi. U obzir dolaze najpopularniji Linux sustavi, Windowsi, Mac i Docker konfiguracije. Za korištenje na vlastitoj opremi tijekom instalacije će vam možda trebati pomoć stručnjaka za izabranu platformu korištenja, tako da cijena korištenja Grafane na vlastitom sustavu ovisi o kombinaciji ulaganja u opremu i plaćanja stručnjaka, iako sam alat možete preuzeti besplatno.
U nastavku teksta ograničit ćemo se na varijantu korištenja Grafane u oblaku, jer je tu već sve pripremio sam proizvođač. Uključujući i različite vrste demo podataka za početne primjere vizualizacije, kako biste lakše napravili analogiju s vlastitim podacima koje namjeravate analizirati.
U vezi s korištenjem Grafane u oblaku zanimljivo je i to da u ovom slučaju postoji potpuno besplatna varijanta korištenja uz poneka ograničenja. Na primjer, količina podataka kojom možete rukovati - poput 50 GB za log podatke - mogućnost pristupa sustavu za najviše tri korisnika, ili zadržavanje analiziranih podataka u razdoblju od 14 dana nakon čega nestaju iz sustava. Upravo ovo zadnje ograničenje je ujedno najveće ograničenje besplatne verzije u oblaku, jer vrlo često mogućnost analize podataka svedena na period od najviše 14 dana jednostavno nije dovoljna.
Međutim, i ovakva besplatna verzija je sasvim dovoljna da upoznate alat te pripremite modele koje ćete kasnije koristiti u pravom, komercijalnom okruženju. Korištenje komercijalne verzije započinje cijenom od 19 dolara mjesečno, dok pravi iznos ovisi o tome što vam doista treba. Detaljne podatke o tome što se sve i kako se naplaćuje tijekom korištenja Grafane u komercijalnim uvjetima, možete pronaći na web adresi: https://grafana.com/pricing/
Spomenimo na kraju ovog dijela teksta još dvije važne stvari:
- U probnom periodu od 14 dana (započinje nakon registracije Grafane) na raspolaganju su vam sve dostupne mogućnosti alata potpuno besplatno.
- Nakon registracije za korištenje alata u oblaku (što možete napraviti stvaranjem novog korisničkog računa ili korištenjem postojećih računa: Google, GitHub ili Microsoft) automatski dobivate svoju vlastitu domenu na webu u obliku: „Ova e-mail adresa je zaštićena od spambota. Potrebno je omogućiti JavaScript da je vidite.“. Na primjer, domena korištena za pripremu ovog teksta ima oblik: Ova e-mail adresa je zaštićena od spambota. Potrebno je omogućiti JavaScript da je vidite.
Igralište za Grafanu
Uz spomenuta dva načina praktičnog korištenja Grafane, postoji također svojevrsno igralište za Grafanu, a nalazi se na adresi: play.grafana.org
Na ovoj adresi možete upoznati i isprobati različite mogućnosti korištenja alata bez potrebe za bilo kakvom instalacijom.
Korištenje u oblaku: Prilično veliki resursi dostupni su slobodno i trajno
Podaci, izvori podataka i nadzorna ploča
Nakon dovršetka registracije i otvaranja web domene koju ste sami izabrali u pregledniku, možete započeti s ozbiljnim korištenjem Grafane. Za početak je najjednostavnije da na početnoj stranici izaberete opciju „Demo Data“ što će rezultirati instalacijom nekog od dostupnih modela podataka i nadzorne ploče (dashboard) pripremljene za rad s tim modelom.
Na raspolaganju su:
- Weather Demo – demonstrira korištenje različitih „netehnički“ orijentiranih podataka na globalnoj razini, što uključuje i pregled povijesnih podataka, odnosno predviđanje budućih pojava.
- Kubernetes Monitoring Demo – primjer nadzora nad korištenjem odgovarajućeg hardverskog klastera.
- Application Observability Demo – primjer nadzora softverskih servisa temeljenih na programskom jeziku GO i bazi podataka PostgreSQL.
- QuickPizza SRE Demo – demonstrira nadzor rada poslovno orijentiranih aplikacija.
Nabrojeni demo modeli demonstriraju mogućnost korištenja Grafane na različitim područjima, odnosno rukovanje različitim vrstama podataka. Za potrebe pripreme ovog teksta koristit ćemo prvi primjer – čisto da se malo odmaknemo od hardvera i softvera, te se pozabavimo nešto drugačijim podacima s „ne-IT“ područja. Instalacija nekog od demo modela pri tome neće prepisati vaše postojeće modele, ako ih već imate u sustavu. Različiti modeli mogu bez problema koegzistirati zajedno u sustavu, pa tako zapravo možete koristiti postojeće demo modele za unapređivanje vlastitog modela.
Nakon instalacije demo modela i prelaska na odgovarajuću nadzornu ploču, prikazuju se meteorološki podaci za izabrano mjesto na globalnoj razini (početna lokacija je London).
U ovom slučaju je nadzorna ploča pripremljena tako da korisniku omogućava odabir nekoliko različitih vrijednosti koje utječu na prikaz podataka. To su trenutna lokacija, način prikaza temperature te razdoblje za koje se prikazuju podaci. Za izabranu lokaciju prikazuju se tipični meteorološki podaci kakvi su vam već poznati iz različitih mobilnih aplikacija slične namjene, uključujući i mogućnost prognoze za buduće razdoblje.
lokalno korištenje: Grafanu je moguće koristiti na različitim operativnim sustavima
Na vrhu prikaza smještena je alatna traka preko koje se dolazi do cijelog sustava izbornika za podešavanje različitih karakteristika modela i nadzorne ploče (na primjer, izvori podataka, infrastruktura za korištenje modela – AWS, Azure ili GCP, načini uzbunjivanja korisnika i ostalo). Pomoću posebne ikone gore desno može se uključiti takozvani „Kiosk“ način rada. U njemu se skrivaju sve ti „nepotrebni dijelovi“ za podešavanje, kako bi krajnji korisnik vidio samo ono što je zaista i planirano za prikaz na što većem dijelu ekrana. Ova mogućnost je baš namijenjena za krajnje korisnike Grafane, čiji je cilj samo pratiti podatke bez potrebe da nešto mijenjaju u pripremljenom modelu.
Podaci iz nadzorne ploče mogu se izvesti na dva različita načina:
- Kao PDF datoteka – ova opcija jednostavno preslika sadržaj nadzorne ploče u PDF dokument zbog eventualnog uključivanja u dokumentaciju sustava, ili nekog drugog razloga.
- Kao JSON datoteka – za prijenos modela i nadzorne ploče na drugi sustav, što je posebno upotrebljivo ako korisnik sam održava svoje Grafana sustave.
Slijedi kratki primjer dijelova JSON datoteke koja nastaje na temelju meteorološkog demo modela, čisto da steknete dojam kako to izgleda.
...
“panels”: [
{
“datasource”: {
“type”: “datasource”,
“uid”: “-- Mixed --”
},
“fieldConfig”: {
“defaults”: {
“mappings”: [],
“thresholds”: {
“mode”: “absolute”,
“steps”: [
{
“color”: “super-light-blue”,
“value”: null
},
{
“color”: “blue”,
“value”: 5
},
{
“color”: “orange”,
“value”: 25
},
{
“color”: “red”,
“value”: 35
}
]
},
“unit”: “celsius”
},
“overrides”: []
},
“gridPos”: {
“h”: 4,
“w”: 4,
“x”: 0,
“y”: 0
},
“id”: 1,
“options”: {
“colorMode”: “background”,
“graphMode”: “area”,
“justifyMode”: “auto”,
“orientation”: “auto”,
“percentChangeColorMode”: “standard”,
“reduceOptions”: {
“calcs”: [
“lastNotNull”
],
“fields”: “”,
“values”: false
},
“showPercentChange”: false,
“textMode”: “auto”,
“wideLayout”: true
},
“pluginVersion”: “11.4.0-78571”,
“targets”: [
{
“datasource”: {
“type”: “prometheus”,
“uid”: “${DS_PROMETHEUS}”
},
“expr”: “avg(weather_temp_c{job=\”weather-service\”, location=~\”$location\”}) by (location)”,
“legendFormat”: “__auto”,
“refId”: “A”
}
],
“title”: “Temperature”,
“transparent”: true,
“type”: “stat”
},
...
Jedan od najvažnijih dijelova svakog Grafana modela su, naravno, izvori podataka. Odmah „iz kutije“, to jest nakon instalacije ili kreiranja korisničkog računa u oblaku, Grafana podržava skoro 20 najpoznatijih izvora podataka, kao što su Microsoft SQL Server, MySQL, PostgreSQL, Azure Monitor, Elasticsearch... To su ujedno izvori podataka detaljno opisani u pratećoj dokumentaciji.
Osim ovih glavnih izvora podataka na raspolaganju je 165 dodataka (u trenutku pisanja teksta), koje također možete uključiti u vlastite modele. Popis takvih dodataka nalazi se na adresi: https://grafana.com/grafana/plugins/data-source-plugins/
U slučaju da vam sve nabrojeno nije dovoljno, jer pokušavate napraviti nadzor nad podacima nad potpuno novim izvorom podataka kojeg ste sami pripremili (na primjer, nad potpuno novom vrstom hardvera za prikupljanje podataka kakvog proizvodi vaša tvrtka), možete sami ispočetka razviti podršku za pristup podacima u takvom izvoru podataka. Detaljne upute o tom postupku nalaze se na adresi: https://grafana.com/developers/plugin-tools/tutorials/build-a-data-source-plugin
Naravno, ovo nije ni izbliza toliko jednostavno kao korištenje Grafane preko korisničkog sučelja s podržanim izvorima podataka, pa postoji veliki stupanj sigurnosti da ćete za tako nešto trebati angažirati odgovarajućeg IT profesionalca (ili cijelu tvrtku). Pogotovo ako vam sljedeći pojmovi ne znače baš puno – Docker, GO, Mage i Node.JS.
Vlastita Grafana web domena: Dobiva se besplatno u slučaju korištenja Grafane u oblaku
Nakon što izaberete (ili izradite) sve potrebne izvore podataka, kao sljedeći korak u postupku je priprema upita nad dostupnim podacima te odabir odgovarajućeg načina njihove vizualizacije. Ako ste se već malo poigrali s Grafanom i izvorima podataka, ili bar pogledali prateće slike uz tekst, sasvim je jasno da tako amorfni izvori podataka ne mogu imati jedinstveno sučelje za postavljanje upita. U nekim slučajevima riječ je o pisanju manje-više poznatih oblika SQL upita, dok se u drugim slučajevima morate služiti nečim potpuno specijaliziranim za tu vrstu podataka. Međutim, ako svakodnevno već koristite takve podatke u drugim aplikacijama, onda biste trebali znati i to kako se na njih postavljaju upiti.
Popis dostupnih načina prikazivanja analiziranih podataka obuhvaća praktično sve zamislive vrste grafikona, tako da vam kao glavni problem ostaje odabir načina vizualizacije koji će biti razumljiv krajnjem korisniku sustava.
Spomenimo na kraju ovog dijela teksta i to da se unutar iste nadzorne ploče mogu kombinirati potpuno različiti izvori podataka, kako bi se pripremio prikaz podataka koji vam doista treba i koristi. Na primjer, dio nadzorne ploče može prikazivati sirove podatke prikupljene preko vaše specijalizirane hardverske opreme, a drugi dio kako ti podaci popunjavaju neku od relacijskih baza podataka u sirovom i/ili obrađenom obliku.
Uzbunjivanje korisnika
Prikazivanje podataka u obliku lijepih grafikona je svakako atraktivno i korisno u smislu njihovog razumijevanja, ali vam samo prikazivanje neće pomoći kad neki od bitnih podataka dosegne kritičnu vrijednost. Popunjavanje prostora na disku od 99%, prekid dolaska podataka s važne opreme, ili trenutno meteorološko stanje nepovoljno za zdravstveno stanje ljudi, samo su neki od primjera kritičnih podataka kakve možete nadzirati u vlastitom sustavu.
Sasvim je jasno da uvijek možete angažirati i platiti osobu za neprekidni nadzor trenutnih vrijednosti parametara na jednom ili više monitora, ali znate i sami kako to obično ide. Kad se pojave kritične vrijednosti podataka, ta osoba će ili zadrijemati, ili upravo tada otići na kraću pauzu.
Zato je vrlo važno da Grafana podržava izravno uzbunjivanje korisnika na temelju zadanih pravila o reakciji na određene vrijednosti parametara. Osim samog definiranja kritičnih vrijednosti podataka zbog kojih treba nešto poduzeti, neophodno je postaviti još nekoliko dodatnih parametara kao što su podaci o osobi ili osobama koje treba uzbuniti, način uzbunjivanja (dostupni su svi moderni kanali kao što su SMS, Slack, Microsoft Teams, Telegram, e-mail, itd.) i slično. S ovim dijelom sustava se treba malo poigrati kako bi se dobili optimalni rezultati, ali zato ne morate plaćati posebnu osobu da u ključnom trenutku zadrijema pred monitorom, jer će se Grafana pobrinuti da u najkraćem mogućem vremenu dobije obavijesti o incidentu preko jednog ili više kanala. Kao dodatno osiguranje da upravo u tom trenutku možda otkaže i neki od kanala za komunikaciju.
play.grafana.org: „Igralište“ za Grafanu koje nudi mogućnost upoznavanja alata bez potrebe za njegovom instalacijom
Zaključak
Sve do sada napisano zapravo predstavlja samo „grebanje“ po vrhu alata, kako biste stekli bar nekakav početni dojam o tome što sve može Grafana. Detaljno upoznavanje alata treba napraviti svaki korisnik sam prema vlastitim potrebama i izvorima podataka. Što ne bi trebalo biti prekomplicirano, jer je Grafana popraćena odličnom dokumentacijom, uključujući i video materijale za prezentaciju pojedinih, složenijih dijelova sustava.
Bez previše razmišljanja možemo napisati da je Grafana odličan alat za prezentaciju različitih vrsta podataka na vizualno vrlo efektan, ali istovremeno i razumljiv način. Alat je pripremljen tako da bude što jednostavniji za korištenje kako bi bio upotrebljiv u što većem broju situacija, čak i za korisnike koji nisu IT profesionalci.
„Grafana profesionalac“
Svoje mjesto u Grafana univerzumu možete pronaći i kao IT profesionalac. Kao netko tko će pomoći korisniku da brzo i djelotvorno pripremi vlastiti model i prateću nadzornu ploču. Da ne pišemo posebno o tome koliko biste mogli naplatiti razvoj potpuno novog dodatka za pristup nepodržanom tipu podataka, ako se za nečim takvim pokaže potreba.
Ako tražite mjesto pod suncem kao Grafana profesionalac, odlična stvar je i to što možete pripremiti kvalitetan demo materijal na domeni s vlastitim imenom u oblaku, koju automatski dobijete od Grafane.