Poikkeus kirjautuu lokiin, hälytys laukeaa, joku korjaa sen. Tämä silmukka toimii - vikoihin, jotka ovat tarpeeksi äänekkäitä ilmoittaakseen itsestään. Viat, jotka maksavat asiakkaillemme oikeaa rahaa, ovat hiljaisia: toimittaja vaihtoi SFTP-avaimen huomaamatta, yöllinen vienti tuotti kelvollisen tiedoston nolla rivillä, jonon kuluttaja "toimii" muttei käsittele mitään.
Mikään ei aiheuttanut virhettä. Kaikki pysähtyi.
Virtausmittarit terveystarkistusten sijaan
Terveystarkistus vastaa kysymykseen "onko prosessi elossa?" Kysymys, jolla on väliä, on "tapahtuiko työ?" Siksi jokaisen ylläpitämämme integraation ensisijainen signaali on virtausmittari - tietueita aikaväliä kohden, verrattuna siihen, mitä kyseinen aikaväli normaalisti kantaa:
- Tunnissa synkronoituja tilauksia, arkipäivä-/viikonloppuperustasoilla - hiljainen sunnuntai on normaali; hiljainen tiistai kello 10:00 on häiriö.
- Tiedostojen saapumiset määräaikoina, ei tapahtumina: "kumppani X:n hintatiedoston pitää saapua klo 06:30 mennessä" - hälytys laukeaa, jos se ei saavu.
- Päästä päähän -viive, mitattuna lähteen aikaleimasta kohteen commitiin, ei jonoon saapumisesta.
Nollarivin ongelma
Erityismaininta yleisimmälle hiljaiselle vialle, jonka näemme: ajastettu työ, joka onnistuu tyhjällä tulosteella. Yläjuoksulla muutettiin suodatinta, tunnistetieto menetti lukuoikeuden yhteen tauluun, aikaikkunabugi sulki pois kaiken - ja työ palauttaa koodin 0, vihreää joka kohdassa.
Jokainen toimittamamme poiminta kantaa uskottavuusrajaa: pienintä tulostekokoa, joka on koskaan ollut kyseiselle työlle ja kalenterikontekstille laillinen. Rajan alittuessa ajo pidätetään ja ihmiseltä kysytään: "tämä tuotti 0 riviä; viimeiset 90 tiistaita keskiarvoltaan 4 200 - jatketaanko?" Tämä yksi suoja on löytänyt enemmän todellisia häiriöitä kuin kaikki poikkeushälytyksemme yhteensä.
Hiljaisuus on signaali. Mittaroi sitä tarkoituksella, koska se ei koskaan ilmoita itsestään.