Creazione di avvisi efficienti

Last reviewed 2023-07-20 UTC

Questo documento del framework dell'architettura Google Cloud fornisce principi operativi per creare avvisi che ti aiutano a eseguire servizi affidabili. Più informazioni hai sul rendimento del tuo servizio, più consapevoli saranno le tue decisioni in caso di problemi. Progetta gli avvisi per il rilevamento precoce e accurato di tutti i problemi di sistema che interessano gli utenti e riduci al minimo i falsi positivi.

Ottimizza il ritardo di avviso

È necessario trovare un equilibrio tra gli avvisi inviati troppo presto che sottopongono a stress il team operativo e quelli inviati troppo tardi che causano lunghe interruzioni del servizio. Regola il ritardo dell'avviso prima che il sistema di monitoraggio invii una notifica di un problema agli utenti per ridurre al minimo il tempo di rilevamento e massimizzare il rapporto segnale/rumore. Utilizza il tasso di utilizzo del budget di errore per ricavare la configurazione di avviso ottimale.

Definisci gli avvisi in base ai sintomi non alle cause

Attiva gli avvisi in base all'impatto diretto sull'esperienza utente. La mancata conformità alle SLO globali o per cliente indica un impatto diretto. Non inviare avvisi per ogni possibile causa di fondo di un errore, in particolare quando l'impatto è limitato a una singola replica. Un sistema distribuito ben progettato si riprende senza problemi dai guasti di una singola replica.

Definisci gli avvisi sui valori anomali anziché sui valori medi

Quando monitori la latenza, definisci gli SLO e imposta gli avvisi per (scegli due su tre) la latenza del 90°, 95° o 99° percentile, non per la media o la latenza del 50° percentile. Valori medi o mediani della latenza buoni possono nascondere valori inaccettabilmente elevati al 90° percentile o superiore che causano esperienze utente molto negative. Pertanto, devi applicare questo principio di avviso sui valori outlier quando monitori la latenza per qualsiasi operazione critica, ad esempio un'interazione richiesta-risposta con un web server, il completamento in batch di una pipeline di elaborazione dei dati o un'operazione di lettura o scrittura su un servizio di archiviazione.