Observabilita s Grafana stackom — čo naozaj potrebujete
Prometheus, Loki, Tempo, Mimir, Alloy. Ktoré z toho reálne nasadiť a v akom poradí.
Grafana Labs má dnes komponent na všetko. Prometheus na metriky, Loki na logy, Tempo na traces, Mimir na dlhodobé uloženie, Pyroscope na profiling, Alloy ako zberač. Je ľahké skončiť s piatimi novými službami, ktoré treba spravovať.
Náš odporúčaný postup je nasadzovať to v poradí podľa hodnoty, nie naraz.
1. Metriky (Prometheus + Grafana)
Ak nemáte nič, začnite tu. Prometheus + node_exporter + Grafana vám za pol dňa dá odpoveď na 80 % otázok typu „prečo je to pomalé".
Minimálna sada dashboardov, ktorú nasadzujeme vždy:
- Node overview — CPU, RAM, disk, sieť, load.
- Disk fill prediction —
predict_linearna 7 dní dopredu. - Service health — up/down pre každý scrape target.
# Alert, ktorý zachytí najviac incidentov
- alert: DiskWillFillIn24h
expr: predict_linear(node_filesystem_avail_bytes[6h], 24*3600) < 0
for: 30m
labels:
severity: warning
2. Logy (Loki)
Druhý krok. Loki je lacný na prevádzku, lebo neindexuje obsah — len labely. To znamená, že musíte mať disciplínu pri labelovaní.
Najčastejšia chyba: dať do labelu niečo s vysokou kardinalitou (request ID, user ID). Loki sa tým zadusí. Labely majú byť {job, instance, level} a nič viac.
3. Traces (Tempo) — len keď treba
Tempo nasadzujeme len vtedy, ak má klient distribuovanú aplikáciu s aspoň piatimi službami, ktoré si volajú navzájom. Pri monolite alebo troch službách je to zbytočná réžia — logy s korelačným ID stačia.
Čo neriešiť hneď
- Mimir — má zmysel až pri dlhodobej retencii nad rok alebo multi-tenant setupe. Prometheus s 90-dňovou retenciou zvládne prekvapivo veľa.
- Pyroscope — profiling je super, ale je to nástroj na konkrétny problém, nie na nepretržitú prevádzku.
Alloy vs. jednotlivé exportéry
Grafana Alloy (nástupca Agentu) zjednodušuje zber — jeden binárny súbor zbiera metriky, logy aj traces. Pre nové nasadenia ho odporúčame. Pre existujúce, kde už bežia exportéry, nie je dôvod migrovať len tak.
Zhrnutie
Nasadzujte postupne, každý komponent až vtedy, keď na predošlom narazíte na strop. Observabilita, ktorú nikto nesleduje, je len ďalšia služba, ktorá vám môže spadnúť o tretej ráno.