Od tématu magazínu k projektové praxi
Vhodné stránky služeb a technické stránky k příspěvku
Projekt Observability začíná v mnoha společnostech dobrým impulzem: výpadky rychleji rozpoznat, příčiny přesně ohraničit, odlehčit supportu, učinit nasazení spolehlivějšími. V praxi se iniciativa však často obrátí v opak: příliš mnoho dashboardů bez vypovídací hodnoty, příliš mnoho alarmů bez prioritizace, rostoucí náklady na úložiště a licence, a nakonec zůstává otevřená otázka, zda provoz skutečně funguje lépe.
Základní chyba zřídka spočívá v chybějícím nástroji. Většinou chybí věcně jasná definice cíle: co má spolehlivě fungovat pro kterou službu nebo procesní řetězec – a jak to změříme? Právě tady pomáhají SLOs (Service Level Objectives, měřitelné cílové hodnoty pro službu) jako vodítka. SLOs propojují technickou telemetrii (Monitoring, Logging, Tracing) s provozní realitou, odpovědnostmi a rozhodovacími toky.
Tento článek kategorizuje typické vzorce selhání a ukazuje, jak dostat Observability pomocí jasných SLOs zpět na správnou trať – s ohledem na provoz, administraci, data, rozhraní, údržbu, bezpečnost a Rollout.
Monitoring, Logging, Tracing: co je co – a proč „více dat“ nestačí?
Observability se často používá jako souhrnný pojem. Pro provoz je důležité jasně oddělit tři typy signálů:
- Monitoring/Metriken: agregované časové řady (např. doby odezvy, chybovost, délky front). Výhoda: rychlé, cenově efektivní, dobře vhodné pro alarmování. Riziko: bez kontextu těžko vysvětlitelné.
- Logging: události s kontextem (např. objednávka vytvořena, selhání validace, externí API odpoví 503). Výhoda: detailní a auditovatelné. Riziko: objemy dat, ochrana osobních údajů, „logová polévka“ bez struktury.
- Tracing: distribuované stopy průběhu přes více komponent (Distributed Tracing). Výhoda: ukáže, kde se ztrácí čas a která závislost blokuje. Riziko: instrumentace, strategie vzorkování, korelace napříč systémy.
Častým omylem je přesvědčení, že pokud nasbíráme dost logů a traceů, incidenty se jakoby vyřeší samy. V realitě však nejprve vzroste složitost. Bez cílového obrazu a kritérií relevance se Observability stane sběrným místem dat – nikoli nástrojem řízení.
Proč projekty Observability selhávají: nejčastější vzorce z provozní praxe
Následující vzorce se vyskytují zvláště často v organicky rostoucích podnicích – tedy tam, kde se Business-Software, rozhraní a infrastruktura vyvíjely po léta a na projektech se podílí více týmů.
1) Tool-first místo Service-first: dashboardy bez provozního rozhodnutí
Je zaveden nový APM- nebo logovací nástroj a následně se „pro jistotu“ postaví dashboardy. Chybí ovšem otázka: Které provozní rozhodnutí má díky tomu probíhat rychleji nebo lépe? Dashboard, který při incidentu nepomůže, je v běžném provozu často jen dekorace. Typický příznak: při poruše týmy přepínají mezi desítkami pohledů, aniž by věděly, který z nich je spolehlivý.
2) Příval alarmů und Alert Fatigue: Všechno je kritické, tedy nic není kritické
Když každé zatížení CPU, každá jednotlivá HTTP‑chyba a každé varování agenta končí jako alarm, výsledkem není vyšší bezpečnost, ale otupělost. Alert Fatigue znamená: on‑call reaguje později, eskalace jsou nejasné a skutečné výpadky se ztrácí v hluku. Pro IT vedení to představuje i riziko vzhledem k souladu a prokazatelnosti: „měli jsme alarmy“ není důkaz, že byla provedena cílená reakce.
3) Žádná korelace: tikety bez Trace-IDs, logy bez kontextu
Zvlášť u procesně blízkých softwarových řešení (ERP‑přilehlé workflowy, integrační trasy, portály) vznikají incidenty často na rozhraních: REST-API, message brokery, importy souborů, EDI, identity providery. Bez korrelační ID (jedinečného identifikátoru, který běží napříč řetězcem) nelze jeden konkrétní proces sledovat end‑to‑end. Výsledek: mnoho času zabere otázka „je to u nás nebo u partnera?“ místo Root Cause Analysis.
4) Exploze nákladů způsobená objemem logů a trace dat
Logging a tracing jsou datově náročné. Bez retention‑strategie (doba uchovávání), samplingu (cílený vzorek u trace dat) a pravidel filtrování rychle vzrostou náklady na storage a ingest – on‑prem i v cloudu. Často se pak hekticky zkracuje, co zhorší kvalitu dat. To vytváří začarovaný kruh: méně důvěry → více logování „pro jistotu“ → vyšší náklady.
5) Otázky bezpečnosti a ochrany osobních údajů jsou řešeny příliš pozdě
Logy často obsahují osobní údaje (jména, e‑mail, IP, čísla zákazníků) nebo citlivý obsah (tokeny, session‑ID, interní URL). Pokud právní a bezpečnostní perspektiva přijde až po rollout, hrozí dvě špatné možnosti: vypnout nebo „pokračovat jako dosud“ s rizikem. Observability musí od počátku zohlednit klasifikaci dat (potřebu ochrany), maskování/Redaction a přístupové koncepty.
6) Nejasná odpovědnost: kdo je za který servis „on the hook“?
V mnoha firmách provozuje tým A infrastrukturu, tým B aplikaci, tým C integraci, tým D databázový stack. Observability ukazuje problémy – ale bez jasných servisních hranic a provozních povinností zůstává odpovědnost rozptýlená. Končí to chatovými diskuzemi místo čistého incident procesu s jasným předáním.
SLOs jako záchranné lano: co dobré SLO zajišťuje
SLOs jsou měřitelné cílové hodnoty pro kvalitu služby. Odvozují se ze SLIs (Service Level Indicators, měřená metrika). Důležité: SLOs nejsou primárně marketingové „dostupnostní čísla“, ale řídicí nástroj pro provoz a prioritizaci.
Dobré SLO odpovídá pro konkrétní službu (např. „zadávání objednávek v portálu“, „nahrávání dokumentů“, „noční běh fakturace“, „API pro skladové zápisy“) na tři otázky:
- Co je z uživatelského pohledu „dobré“? (např. „odpověď < 1,5 s“ nebo „úspěch bez chyb“)
- Jak to objektivně změříme? (SLI, zdroj dat, měřicí okno)
- Co se stane, pokud nebude dodrženo? (priorizace, stop pro změny, kapacitní opatření)
Tím se observabilita promění z datového jezera na systém, který podporuje rozhodování: Co je právě skutečně kritické? Kam investujeme dál? Která rizika vědomě akceptujeme?
Od SLAs k SLOs a Error Budgetům: Praktické zařazení pro rozhodovatele
Ve firmách často existují SLAs (Service Level Agreements, smluvní nebo interní závazky). SLOs jsou úžeji vázány na techniku a provoz a mohou sloužit jako interní řídicí veličina, i když je SLA velmi hrubé.
Centrálním mechanismem je Error Budget: Pokud SLO např. požaduje 99,9% úspěšnost za 30 dní, je akceptován malý „rozpočet“ pro chyby/nedostupnost. Zní to na první pohled kontraintuitivně, ale operativně je to cenné: umožňuje věcnou rovnováhu mezi stabilitou a změnou (nasazení, migrace, optimalizace výkonu).
Důležité pro praxi: Error Budgety fungují pouze, pokud je měření spravedlivé a organizace je připravena vyvodit důsledky. Jinak se z toho stane jen další metrika.
Definujte SLOs, která skutečně řídí Monitoring, Logging und Tracing
Nejčastější chybou u SLOs je, že jsou příliš obecná („99,9% dostupnost aplikace“). Smysluplnější je struktura SLO podél uživatelských akcí a integračních bodů. Pragmatický postup:
Krok 1: Vymezte hranice služeb podél procesního řetězce
Nedefinujte „Services“ podle organizačního schématu, ale podle účinku: např. „Auftrag anlegen“, „Zahlung verarbeiten“, „Kommissionierung buchen“, „Schnittstelle zu Versanddienstleister“. Zejména u individuálních podnikových softwarových krajin jsou tyto hranice rozhodující, protože podpora a obchodní oddělení myslí v těchto jednotkách.
Krok 2: Pro službu 1–3 SLIs, které mapují uživatelský dopad
Osvedčily se SLIs jako:
- Míra úspěšnosti transakce (např. HTTP 2xx/3xx nebo „Business Success“ z aplikační logiky)
- Latence na kritické cestě (p95/p99 místo průměru)
- Aktuálnost u datových pipeline („Jak stará jsou data v DWH/Reporting?“)
Jádro věci: Ne každá systémová metrika je SLI. Vysoké vytížení CPU je symptom, ne uživatelský výsledek. Používejte systémové metriky jako diagnostiku, ne jako cíl.
Krok 3: Pečlivě stanovte měřicí okna, výjimky a závislosti
SLO bez měřicího okna je bezcenné. Stanovte: 28 dní rolující? Po měsících? Pouze v pracovní době? A vyjasněte, které závislosti se započítávají: Pokud externí partner API vypadne, počítá se to do vašeho SLO? Pro provoz a eskalaci má tato jasnost zlatou hodnotu.
Krok 4: Propojte Alerting s Burn-Rate-SLO
Místo „Alarm bei Fehler > X in 5 Minuten“ funguje v praxi často lépe přístup burn-rate: Jak rychle se spotřebovává Error Budget? Tímto způsobem prioritizujete alarmy podle rizika neplnění cíle – nikoli podle hlučnosti jednotlivých metrik. Výsledek: méně alarmů, ale relevantnější.
Důsledky pro architekturu: Co technicky naplánovat pro spolehlivou observabilitu
SLOs jsou součástí governance, ale potřebují technickou základnu. V existujících prostředích to málokdy znamená „pouze konfiguraci“. Typické architektonické součásti:
Telemetry-Pipeline: Sammeln, transformieren, speichern, ausspielen
Ať on-prem nebo cloud: potřebujete jasný řetězec, jak se telemetrie dostává do systému. Patří sem agenty/Collector, transport (fronta/bufor), zpracování (parsování, obohacení, maskování), ukládání a přístup. Zvlášť u logování a tracing je důležitý bufor, aby se vyrovnaly špičky zátěže a při poruchách nebyly zatíženy produkční systémy.
Identitäten und Zugriffe: Wer darf welche Daten sehen?
Observability data jsou často citlivá. Plánujte role a koncepty tenantů: provoz vidí metriky infrastruktury, support vidí korelované události, oborová jednotka dostane pouze agregované pohledy na služby. Doplňte auditní logy pro přístup k logům a traceům, pokud jsou relevantní regulatorní požadavky.
Datenhygiene im Logging: Struktur, Redaction, Retention
„Logujeme všechno“ není plán. Smysluplné jsou strukturované logy (strojově čitelné), definovaná pole (např. služba, prostředí, korrelační ID, třída chyby) a důsledné maskování. Určete retenci podle účelu: krátká pro debug (např. 7–14 dní), delší pro bezpečnostní události nebo auditní požadavky – ale odděleně, aby byly náklady a přístupová práva řiditelné.
Tracing gezielt, nicht flächig: Sampling und kritische Pfade
Distributed Tracing je obzvlášť cenný u integračních tras a výkonových problémů. Plošné 100% tracing je však zřídka financovatelný a často zbytečný. Zavádějte pravidla vzorkování (např. více traceů při chybách nebo při neobvyklé latenci) a zaměřte se na kritickou cestu: Login/SSO, Upload, uložení objednávky, volání rozhraní, zpracování fronty.
Konkrete Beispiele: SLOs für typische Unternehmenssoftware-Szenarien
Aby SLOs nezůstaly teoretické, tady jsou tři příklady, které se často vyskytují v procesně blízkých softwarových řešeních. Čísla jsou záměrně jako zástupci – cílové hodnoty musí odpovídat využití, profilu zátěže a riziku procesu.
Beispiel A: Kundenportal „Auftrag anlegen“
- SLI Erfolgsrate: Podíl úspěšně dokončených vytvoření objednávek (Business Success) za 30 dní.
- SLI Latenz: p95 end-to-end doby pro vytvoření objednávky (včetně DB-Commit a potvrzovací odpovědi).
- Diagnose-Signale: DB-Deadlocks/Timeouts, délky front pro následné zpracování, třídy chyb v aplikačním logu (validace vs. infrastruktura).
Důležité: SLO by mělo měřit tok uživatele, ne jen „HTTP 200“. Jinak přehlédnete případy, kdy byla žádost technicky úspěšná, ale věcně přerušena.
Příklad B: Rozhraní k přepravnímu poskytovateli (REST/EDI)
- SLI: Podíl oznámení zásilek, které jsou do X minut úspěšně potvrzeny (včetně opakovaných pokusů).
- Závislosti: Externí endpoint, síťová trasa, certifikáty, rate-limity.
- Diagnostika: Kódy chyb podle kategorií, podíl retryů, Dead-Letter-Queue (úložiště pro zprávy, které po několika pokusech nebyly zpracovány).
Zde se ukazuje přínos SLO pro provoz: Můžete jasně oddělit, zda incident ovlivňuje vlastní zpracování (např. expirovaný certifikát) nebo primárně partnera (např. 5xx chyby). To zkracuje čas ve war roomu a zlepšuje komunikaci s obchodním oddělením a partnery.
Příklad C: Noční běh „Faktura/Batch-Verarbeitung“
- SLI: Podíl batch jobů, které proběhnou úspěšně do definovaného času uzávěrky.
- SLI: Počet manuálních zásahů na běh (operace, které spouštějí runbooky).
- Diagnostika: Vzory zámků/deadlocků v databázi, nedostatečné zdroje, IO čekací doby, odlehlé hodnoty v dílčích jobech.
Batch procesy jsou typické „blind spoty“: uživatelé si problémy všimnou až ráno. SLO s časem uzávěrky stanoví jasná očekávání a umožní cílené alertování, které z malých zpoždění nedělá eskalaci, ale včas signalizuje skutečná rizika.
Rollout a provoz: Jak zůstat SLO modelem v každodenní praxi živý
Nejtěžší část není první definice, ale její zakotvení. Observability často naráží na provozní procesy, ne na techniku.
Role a odpovědnosti (bez režie)
Nepotřebujete velkou SRE-organizaci, ale jasné odpovědnosti:
- Service Owner: odborně/technicky odpovědný za cílové hodnoty a prioritizaci.
- Ops/Plattform: provozuje telemetrickou pipeline, přístupy, retenci dat, kontrolu nákladů.
- On-Call/Support: využívá alerty, runbooky, eskalační cesty; poskytuje zpětnou vazbu k kvalitě alarmů.
Důležitý je závazný rytmus (měsíčně nebo jednou za dva týdny): SLO review, top alerty, náklady/objemy, otevřené „Unknowns“.
Propojit runbooky a incidentní proces s observability
Alarm bez postupu k opatřením je hluk. Propojte každé kritické pravidlo alertu s runbookem (stručná instrukce): Co zkontrolovat? Které dashboardy/pohledy jsou relevantní? Jak se eskaluje? Jaká okamžitá opatření jsou povolena (např. vypnout feature, omezit frontu, režim pouze pro čtení)?
Pro vedení IT je to také páka škálování: Dobré runbooky snižují závislost na jednotlivcích a zkracují průměrný čas řešení (MTTR) bez „hrdinství“.
Release- a Change-Management: SLO jako stopka, ne jako dekorace
Pokud je Error Budget nízké, měly by být rizikové změny odloženy nebo nasazeny s dalšími ochrannými opatřeními (např. canary, feature flags, úzké monitorovací okno). Není to samoúčelné: zabraňuje to, aby se stabilita stala důležitou až po výpadku.
Po věcné stránce lze zde dobře vycházet z existujících standardů release managementu a propojit interní odkazy na příspěvky týkající se rolloutů, akceptace a plánů návratu.
Kontrolní seznam: Varovné signály, že váš observability-projekt se vymyká kontrole
- Alarmy jsou pravidelně ztlumeny nebo ignorovány.
- Dashboardů je mnoho, ale nikdo neví, které je při incidentu rozhodující.
- Objem logů roste rychleji než jejich přínos; retence se zkracuje „na pocit“.
- Bezpečnost/ochrana osobních údajů se řeší až po nasazení ve vztahu k obsahu v logech.
- Incidenty často končí „nebylo možné reprodukovat“ nebo „nejasné, kdo je za to odpovědný“.
- Tracing existuje, ale bez jednotného korelačního ID přes rozhraní.
Pokud se týká více bodů, téměř vždy se vyplatí reset přes SLOs: upřednostnit několik služeb, definovat jasné SLIs, cíleně nasměrovat telemetrii, radikálně zjednodušit alarmování.
Závěr: SLOs znovu činí observabilitu ovladatelnou – a provozně poctivou
Monitoring, logging a tracing jsou nepostradatelné, ale samy o sobě nevyřeší provozní problém. Projekt observability typicky nezkrachuje kvůli chybějícím datům, ale kvůli nejasným cílům, špatné kvalitě alarmů, nekontrolovaným objemům dat a nejasné odpovědnosti. SLOs vrací iniciativu zpět k tomu, na čem v podnikové praxi záleží: spolehlivé služby podél procesního řetězce, jasné priority při incidentech a průkazná rozhodnutí mezi stabilitou, náklady a změnou.
Pokud chcete observability ve svém prostředí znovu nasměrovat nebo pragmaticky stabilizovat ztuhlé nastavení, vyplatí se strukturovaný pohled na hranice služeb, SLIs, telemetrickou pipeline a provozní procesy. Pro první zařazení a čistý Zahájení projektu — architektura a spolupráce nás můžete kontaktovat přes .
další krok
Když se z tématu stane reálný projekt, měly by být architektura, stávající systém a provoz posuzovány společně již v rané fázi.
Podporujeme nejen při jednotlivých otázkách, ale i v případě, že se z útržků zdrojového kódu, legacy témat nebo nápadů na portál má vyvinout robustní podnikový projekt.
- Současný stav, cílový stav a technická rizika jsou hodnoceny společně.
- REST, přístup k datům, portály a rollout nebudou přesunuty do pozdějších fází.
- Včas zjistíte, která varianta je ekonomicky i provozně životaschopná.