Robustná stratégia monitorovania a alertingu je základným kameňom fungujúceho DevOps workflow. Nezabezpečuje len spoľahlivosť a výkon systémov, ale umožňuje tímom riešiť problémy proaktívne, skôr než sa dostanú ku koncovým používateľom.
Úspešná stratégia monitorovania a alertingu kombinuje správne nástroje, metriky, procesy a automatizáciu, a napĺňa tak cieľ DevOps: rýchlo dodávať kvalitný softvér.
Kde teda začať?
Definujte dosiahnuteľné ciele a metriky
Na zbieranie zdrojov, ktoré chceme sledovať, existuje množstvo nástrojov. Bez správnej konfigurácie však snaha monitorovať všetko skončí pri záplave neúčinných metrík. Začnime preto najbežnejšími konfiguráciami a nástrojmi, ktoré sa na tieto úlohy hodia najlepšie.
- Na zber logov potrebujeme riešenie, ktoré dokáže sledovať cieľové umiestnenie logov a preposielať ich do centralizovaného úložiska. Tento účel efektívne plní Loki v kombinácii s Promtailom. Loki je navrhnutý na horizontálnu škálovateľnosť, nákladovú efektívnosť a jednoduchú inštaláciu, čo z neho robí ideálnu voľbu na agregáciu a dotazovanie logov z rôznych zdrojov. Promtail je naproti tomu agent, ktorý posiela obsah lokálnych logov do inštancie Loki, a tým zjednodušuje proces zberu logov.
- Pre metriky containerov, ako sú celkové reštarty, využitie CPU a pamäte a ďalšie, je riešením Prometheus. Je mimoriadne silný v zbere a ukladaní time-series dát. Pri práci s Docker containermi vie Prometheus zbierať metriky priamo z Docker daemona. V prostredí Kubernetes sa navyše dá spolu s Prometheusom použiť kube-state-metrics. Kube-state-metrics počúva na Kubernetes API serveri a generuje metriky o stave objektov (napríklad deployments, nodes a pods), ktoré potom Prometheus zbiera pre komplexné monitorovanie.
- Čo sa týka podkladovej infraštruktúry, kľúčové sú metriky súvisiace s fyzickými alebo virtuálnymi strojmi, teda využitie CPU, pamäte, disku a siete. Tu prichádza do hry Node Exporter. Node Exporter je Prometheus exporter, ktorý zbiera hardvérové a OS metriky vystavené *NIX kernelmi, čo umožňuje podrobné monitorovanie systémových zdrojov a výkonu. Tento nástroj je nevyhnutný na získanie prehľadu o prevádzkovom zdraví infraštruktúry, na ktorej bežia vaše aplikácie.
Ekosystém Prometheus, ktorého je Node Exporter súčasťou, podporuje širokú škálu exporterov schopných monitorovať rôzne časti vašich systémov, služieb a infraštruktúry. Každý exporter je navrhnutý tak, aby získal štatistiky z konkrétneho zdroja a vystavil ich vo formáte, ktorý Prometheus dokáže zbierať a ukladať.
Vizuálny prieskum dát v Grafane
Keď máme všetky zdroje pozbierané a metriky uložené, môžeme sa venovať vizualizácii a analýze, kde zohrávajú kľúčovú úlohu nástroje ako Grafana.
- Grafana nám umožňuje vytvárať dynamické a prehľadné dashboardy, ktoré oživia naše dáta.
Vďaka širokej podpore rôznych data sources, ako sú Loki alebo Prometheus, nám Grafana dovoľuje agregovať a vizualizovať metriky, logy aj traces v jednom ucelenom a prispôsobiteľnom rozhraní.
Okamžité upozornenia s Alertmanagerom
Metriky pozbierané, vizualizácie nakonfigurované - a predsa nemôžeme Grafanu sledovať nepretržite, pretože množstvo informácií je jednoducho zdrvujúce.
Prichádza Alertmanager, dôležitá súčasť observability ekosystému navrhnutá na zjednodušenie správy upozornení.
Elegantne spravuje alerty generované Prometheusom, efektívne rieši deduplikáciu, zoskupovanie a smerovanie, a zabezpečuje, že notifikácie sú zmysluplné a zvládnuteľné.
Alertmanager sa integruje so širokou škálou notifikačných platforiem, ako napríklad:
- PagerDuty na plánovanie on-call služieb,
- Slack na tímovú komunikáciu a
- Discord na komunikáciu s komunitou,
čím zabezpečuje, že upozornenia sa dostanú k správnym ľuďom cez ich preferované kanály.



