Iznimka se zabilježi, upozorenje se aktivira, netko to popravi. Ta petlja funkcionira - za kvarove dovoljno glasne da sami sebe najave. Kvarovi koji naše klijente koštaju stvarnog novca oni su tihi: dobavljač je tiho rotirao SFTP ključ, noćni izvoz proizveo je valjanu datoteku s nula redaka, potrošač reda čekanja „radi", ali ništa ne obrađuje.
Ništа nije prijavilo grešku. Sve se zaustavilo.
Metrike protoka umjesto provjera stanja
Provjera stanja odgovara na pitanje „je li proces živ?" Pitanje koje je bitno glasi „je li posao obavljen?" Zato je primarni signal na svakoj integraciji koju vodimo metrika protoka - broj zapisa po intervalu, uspoređen s onim što taj interval uobičajeno nosi:
- Broj sinkroniziranih narudžbi po satu, s osnovnim vrijednostima za radne dane i vikend - tiha nedjelja je normalna; tih utorak u 10:00 je incident.
- Dolasci datoteka promatraju se kao rokovi, a ne događaji: „datoteka s cijenama partnera X mora stići do 06:30" - upozorenje se aktivira kada datoteka ne stigne.
- Kašnjenje od početka do kraja, mjereno od vremenske oznake izvora do potvrde zapisa na odredištu, a ne od ulaska u red čekanja.
Problem nula redaka
Posebno mjesto zaslužuje najčešći tihi kvar koji viđamo: zakazani posao koji uspješno završi s praznim izlazom. Netko je uzvodno promijenio filter, vjerodajnica je izgubila pristup čitanju jedne tablice, greška u vremenskom prozoru datuma isključila je sve - a posao izađe s kodom 0, sve zeleno po cijeloj liniji.
Svaki izvoz koji isporučimo nosi prag vjerodostojnosti: najmanju veličinu izlaza koja je ikad bila legitimna za taj posao i taj kalendarski kontekst. Ispod tog praga izvršavanje se zaustavlja i čovjeku se postavlja pitanje: „ovo je proizvelo 0 redaka; posljednjih 90 utoraka prosjek je bio 4.200 - nastaviti?" Ta jedna jedina zaštita uhvatila je više stvarnih incidenata nego sva naša upozorenja na iznimke zajedno.
Tišina je signal. Namjerno je instrumentirajte, jer se ona sama nikada neće najaviti.