Grafanu jsme nedávno využili v realizaci datového dashboardu pro systém prediktivního řízení spotřeby energie budov (PBC/ABM), který můžete najít na záložce Produkty. Po úspěšném dokončení pilotní aplikace tohoto projektu můžeme říci, že Grafana je skvělý nástroj, který Vám pomůže snadno a rychle vyřešit vizualizaci takových dat, která odpovídají filozofii návrhu tohoto nástroje.

Práce s Grafanou je rychlá a příjemná: rozjet si kontejnerizovanou Grafanu v Dockeru Vám zabere pár minut, a pak už si můžete hrát v drag-and-drop prostředí se spoustou možností vizualizace Vašich dat.

Jedinou vadou na kráse je zde dokumentace – ačkoliv Grafana má rozsáhlou dokumentaci pro všechny své funkce, existují zde matoucí rozdíly mezi verzemi. Zdá se, že každá verze Grafany přichází s redesignem jednotlivých nastavení a menu datových panelů, ovšem dokumentace je aktualizována jen se zpožděním. To bohužel vede k tomu, že jakmile se Vám přestane líbit základní práce s panely – která je opravdu povedená, jednoduchá a intuitivní – a chtěli byste přejít k detailnějšímu nastavení, často Vám nezbude než podívat se jak žádaná funkce vypadá v dokumentaci, a pak experimentovat s mírně odlišnou funkcí, kterou máte k dispozici Vy.

V rámci pilotního projektu PBC/ABM jsme zobrazovali časové řady dat pro topnou sezónu každého roku, zatímco letní období mimo topnou sezónu bylo bez jakýchkoliv dat. Zde jsme bohužel těžce narazili, jelikož Grafana předpokládá zobrazování kontinuálních dat, a to především se zaměřením na jejich průběh v reálném čase – na práci s nespojitými historickými daty není připravena.

Naším cílem bylo umožnit uživateli zvolit si topnou sezónu, která ho zajímá, a porovnat ji s jinou, referenční topnou sezónou. Grafana ovšem poskytuje jen velmi omezenou interaktivitu takové volby, a to s využitím interních proměnných pro uložení volby uživatele. I tak zůstanou některé problémy zcela neřešitelné. V našem případě se kamenem úrazu stalo automatické posouvání a měřítkování zobrazení grafu pro vybraná data – to Grafana v podstatě neumožňuje. Nezbylo nám tedy než nechat uživatele ručně posouvat časovou osu tam a zpět, což rozhodně není očekávaný komfort.

Ano, Grafana nabízí množství pluginů pro rozšíření svých funkcí, které jsou většinou k mání zadarmo. My jsme nakonec využili pouze grafický plugin Boom Theme pro individualizovaný vzhled našeho dashboardu, ale stránky Grafana Labs nabízí nepřeberně dalších pluginů, od integrace nových zdrojů dat (Jira, Prometheus, Elasticsearch) po nejrůznější specializované typy panelů. Všechny tyto pluginy ale sdílejí základní myšlenku Grafany, tedy zobrazování spojitých časových řad v grafech a tabulkách s tím, že uživatel je ten, kdo volí jaká data chce a jak je chce zobrazit.

Právě možnost práce s nespojitými daty a s inteligentním přizpůsobením se zobrazení vybraným datům byl jeden z klíčových prvků dosažení uživatelského komfortu práce s PBC/ABM. Proto jsme nakonec jinak skvělou Grafanu opustili a v rámci dalšího vývoje jsme implementovali vlastní frontend, který využívá univerzálnosti frameworku Vue.js a skvělých vlastností knihovny Plotly.

Grafanu bych tedy rozhodně doporučil komukoli, kdo si chce udělat rychlý přehled o svých datech, nebo sestavit jednoduché monitorování vývoje časových řad. Pro specifické záměry ale již Grafana nemusí postačit.