Séria: Ako písať dokumentáciu a manuály v IT projekte
Reálny problém z praxe
Support hlási:
„Používateľ tvrdí, že objednávka neprešla.“
Tester skúsi scenár.
Objednávka prejde.
Vývojár sa pýta:
„Máme k tomu logy?“
Nikto nevie.
V systéme nie je jasné:
- čo sa loguje
- kde sa to loguje
- ako sa to dohľadá
Výsledok:
problém sa nedá overiť
a končí ako „nedá sa reprodukovať“
Čo sa tu vlastne pokazilo (analýza systému)
Problém nie je v chybe.
Problém je, že systém nie je pozorovateľný.
Chýba:
- monitoring
- logovanie
- prehľad o správaní systému
Systém síce funguje,
ale nikto nevie povedať, čo sa v ňom deje.
Skutočné náklady (čas, chaos, riziko)
Keď nie je observability:
- incidenty sa riešia naslepo
- chyby sa nedajú dohľadať
- tester nevie overiť scenár
- support nevie komunikovať so zákazníkom
Typická situácia:
problém existoval
ale nezostal po ňom žiadny dôkaz
Minimálny model riešenia
Netreba komplexný monitoring.
Treba základnú viditeľnosť.
1. Logovanie
Musí byť jasné:
- čo sa loguje
- kde sa logy nachádzajú
- ako sa vyhľadávajú
Minimálne:
- requesty
- chyby
- zmeny stavu
2. Kontext v logoch
Log bez kontextu je nepoužiteľný.
Každý log by mal obsahovať:
- identifikátor požiadavky
- používateľa alebo entitu
- čas
- typ operácie
3. Monitoring
- dostupnosť systému
- chybovosť
- výkon
Nemusí byť detailný.
Musí ukázať, že sa niečo deje.
4. Alerty
- čo sa považuje za problém
- kto dostane upozornenie
- ako rýchlo
5. Prepojenie na incident
- ako sa problém dohľadá
- ktoré logy sa kontrolujú
- čo sa má overiť
Príklad
Bez logovania:
„Objednávka neprešla.“
S logovaním:
- request prišiel
- validácia prebehla
- externá služba vrátila chybu
- systém vrátil stav 500
Zrazu je jasné:
čo sa stalo
kde vznikol problém
čo riešiť
Mini checklist
Je jasné, čo sa loguje?
Je jasné, kde logy nájsť?
Obsahujú logy kontext?
Existuje základný monitoring?
Sú definované alerty?
Ak nie, systém nie je pozorovateľný.
Prepojenie na kvalitu a workflow
Observability nie je len technická vec.
Je to základ pre:
- testovanie
- debugging
- support
- prevádzku
Pre testera je to kritické:
Bez logov nevieš:
- potvrdiť chybu
- analyzovať problém
- overiť správanie systému
Testovanie bez observability je len hádanie.
Krátke zhrnutie
Systém nestačí spustiť.
Treba vedieť:
čo robí
kedy robí chybu
prečo robí chybu
Ak nemáš monitoring a logovanie:
- problémy sa riešia naslepo
Ak ich máš:
- systém je čitateľný
- problémy sú riešiteľné
A to je základ stabilnej prevádzky.
