Integrāciju monitorings: brīdiniet par klusumu, ne tikai par kļūdām

Zaļu sinhronizācijas statusa bloku siena ar vienu vientuļu dzintarkrāsas brīdinājuma bloku

Izņēmums tiek reģistrēts, brīdinājums nostrādā, kāds to salabo. Šis cikls darbojas - kļūmēm, kas ir pietiekami skaļas, lai pieteiktu par sevi. Kļūmes, kas mūsu klientiem izmaksā reālu naudu, ir klusās: piegādātājs klusi nomainījis SFTP atslēgu, nakts eksports radījis derīgu failu ar nulle rindām, rindas patērētājs "darbojas", bet neko neapstrādā.

Nekas nekļūdījās. Viss apstājās.

Plūsmas rādītāji, nevis darbspējas pārbaudes

Darbspējas pārbaude atbild uz jautājumu "vai process ir dzīvs?". Jautājums, kam ir nozīme, ir "vai darbs notika?" Tāpēc galvenais signāls katrā integrācijā, ko mēs uzturam, ir plūsmas rādītājs - ierakstu skaits intervālā, salīdzinot ar to, kas šajā intervālā parasti tiek apstrādāts:

  • Sinhronizēto pasūtījumu skaits stundā, ar darbdienas/brīvdienas atskaites vērtībām - kluss svētdienas rīts ir normāli; kluss otrdienas plkst. 10:00 ir incidents.
  • Failu saņemšana kā termiņš, nevis notikums: "partnera X cenu fails jāsaņem līdz 06:30" - brīdinājums nostrādā, ja tas neienāk.
  • Pilna cikla aizture, mērīta no avota laika zīmoga līdz apstiprinājumam galamērķī, nevis no ienākšanas rindā.

Nulles rindu problēma

Īpaši jāpiemin visbiežāk sastopamā klusā kļūme, ko mēs redzam: ieplānots uzdevums, kas veiksmīgi pabeidzas ar tukšu rezultātu. Augšpusē mainīts filtrs, akreditācijas dati zaudējuši lasīšanas piekļuvi vienai tabulai, datuma intervāla kļūda izslēgusi visu - un uzdevums pabeidzas ar kodu 0, viss zaļš.

Katrai mūsu piegādātajai izlasei ir ticamības slieksnis: mazākais izvades apjoms, kāds jebkad ir bijis pamatots šim uzdevumam un kalendārajam kontekstam. Zem sliekšņa izpilde tiek aizturēta, un cilvēkam tiek uzdots jautājums: "šis radīja 0 rindu; pēdējās 90 otrdienas vidēji bija 4200 - turpināt?" Šis vienīgais aizsargmehānisms ir noķēris vairāk reālu incidentu nekā visi mūsu izņēmumu brīdinājumi kopā.

Klusums ir signāls. Instrumentējiet to apzināti, jo tas nekad pats par sevi nepieteiksies.