Monitorare le integrazioni: allertate sul silenzio, non solo sugli errori

Un muro di riquadri verdi di stato di sincronizzazione con un unico riquadro di avviso ambra

Un'eccezione viene registrata, un allarme scatta, qualcuno la risolve. Quel ciclo funziona - per i guasti abbastanza rumorosi da annunciarsi da soli. I guasti che costano ai nostri clienti soldi veri sono quelli silenziosi: il fornitore ha ruotato silenziosamente una chiave SFTP, l'esportazione notturna ha prodotto un file valido con zero righe, il consumer della coda è "in esecuzione" ma non elabora nulla.

Niente ha generato errori. Tutto si è fermato.

Metriche di flusso invece di controlli di stato

Un controllo di stato risponde a "il processo è vivo?". La domanda che conta è "il lavoro è avvenuto?". Quindi il segnale primario su ogni integrazione che gestiamo è una metrica di flusso - record per intervallo, confrontati con ciò che quell'intervallo trasporta normalmente:

  • Ordini sincronizzati all'ora, con riferimenti feriali/weekend - una domenica silenziosa è normale; un martedì silenzioso alle 10:00 è un incidente.
  • Arrivi di file come scadenze, non come eventi: "il file prezzi del partner X è dovuto entro le 06:30" - l'allarme scatta quando non arriva.
  • Latenza end-to-end, misurata dal timestamp di origine al commit di destinazione, non dall'ingresso in coda.

Il problema delle zero righe

Menzione speciale per il guasto silenzioso più comune che vediamo: un job pianificato che riesce con output vuoto. A monte è cambiato un filtro, una credenziale ha perso l'accesso in lettura a una tabella, un bug nell'intervallo di date ha escluso tutto - e il job esce con codice 0, verde su tutta la linea.

Ogni estrazione che consegniamo porta una soglia di plausibilità: la dimensione di output più piccola che sia mai stata legittima per quel job e quel contesto di calendario. Sotto la soglia, l'esecuzione viene sospesa e a un essere umano viene chiesto: "questo ha prodotto 0 righe; gli ultimi 90 martedì avevano una media di 4.200; procedere?". Quella singola protezione ha rilevato più incidenti reali di tutti i nostri allarmi sulle eccezioni messi insieme.

Il silenzio è un segnale. Strumentatelo deliberatamente, perché non si annuncerà mai da solo.