🟡 Intermediate

Grafana — Vizualizácia a Dashboardy

Grafana je open-source platforma na vizualizáciu, monitoring a analýzu dát. Umožňuje vytvárať interaktívne dashboardy z rôznych dátových zdrojov a je štandardom v modernom DevOps prostredí.


Čo je Grafana?

Grafana je webová aplikácia, ktorá zobrazuje metriky, logy a traces v prehľadných grafoch a paneloch. Podporuje desiatky data sources — od Prometheus cez InfluxDB, Elasticsearch, PostgreSQL až po CloudWatch. Jeden dashboard dokáže kombinovať dáta z viacerých zdrojov naraz.

Ako funguje

Architektúra Grafany je jednoduchá:

  1. Data Sources — pripojíte dátové zdroje (Prometheus, Loki, MySQL...)
  2. Queries — definujete dopyt v jazyku daného zdroja (PromQL, LogQL, SQL)
  3. Panels — výsledky zobrazíte v paneloch (grafy, tabuľky, gauges, heatmapy)
  4. Dashboards — panely organizujete do dashboardov

Typy panelov:

  • Time series — klasický graf priebehu metriky v čase
  • Stat — jedna veľká hodnota (napr. uptime 99.9%)
  • Gauge — vizuálny ukazovateľ s prahmi
  • Table — tabuľkové zobrazenie dát
  • Heatmap — distribúcia hodnôt v čase
  • Logs — priame zobrazenie logov z Loki alebo Elasticsearch

Premenné a šablóny:

# Dashboard premenná pre výber servera
variable:
  name: server
  query: label_values(node_uname_info, instance)
  refresh: on_time_range_change

Premenné umožňujú dynamické filtrovanie — jeden dashboard pre všetky servery.

Praktické použitie

Alerting v Grafane je plnohodnotný systém:

  • Definujete podmienky (napr. CPU > 90% po dobu 5 minút)
  • Nastavíte contact points (Slack, email, PagerDuty, webhook)
  • Grafana vyhodnocuje pravidlá a posiela notifikácie
  • Podpora silence periods a escalation policies

Provisioning umožňuje spravovať dashboardy ako kód:

apiVersion: 1
providers:
  - name: 'default'
    folder: 'Production'
    type: file
    options:
      path: /var/lib/grafana/dashboards

Dashboardy uložíte ako JSON, verzionujete v Gite a automaticky nasadzujete.

Grafana Cloud ponúka hosted verziu s integrovaným Prometheus, Loki a Tempo — bez starostí o infraštruktúru.

Best Practices

  • Organizujte dashboardy do priečinkov — Production, Staging, Business
  • Používajte premenné namiesto hardcoded hodnôt
  • Dashboards as Code — verzionujte JSON v Gite
  • Menej je viac — 5-7 panelov na dashboard, nie 30
  • Nastavte zmysluplné alerty — každý alert musí mať jasný action item
  • Zdieľajte dashboardy cez Grafana.com community — tisíce hotových šablón

Grafana je srdce observability stacku — prepojí vaše metriky, logy a traces do jedného prehľadného rozhrania.