Torna al blog

Monitoraggio multiregione: come eliminare i falsi positivi di downtime

· 6 min di lettura

I falsi allarmi insegnano al team a ignorare gli alert. Un cross-check multiregione segnala un'interruzione solo quando la confermano più sonde indipendenti.

Monitoraggio multiregione: come eliminare i falsi positivi di downtime

Perché il monitoraggio a regione singola mente

Il monitoraggio classico ha un unico punto di osservazione (un server o una regione cloud). Quando questa sonda non riceve risposta, segnala un'interruzione. La causa, però, può essere una delle seguenti:

  • Un problema nella rete della sonda stessa (route flap, un problema di peering del suo provider)
  • Un glitch DNS di breve durata dal lato della sonda
  • Un'interruzione geograficamente limitata (un edge CDN è caduto in un paese)
  • Rate limiting o un blocco IP dal lato della tua infrastruttura

Dal punto di vista degli utenti reali, il sito può essere perfettamente a posto - solo irraggiungibile per un host di monitoraggio specifico.

La conseguenza: alert fatigue

Un team che riceve 3 notifiche di "interruzione" a settimana, di cui 2 sono falsi allarmi (falsi positivi), col tempo smette di reagire. Quando poi arriva un'interruzione reale, la reazione è in ritardo o nessuno se ne accorge. Questo fenomeno si chiama alert fatigue (affaticamento da alert) ed è ben documentato nella letteratura devops.

L'obiettivo è il miglior rapporto segnale-rumore (signal-to-noise ratio) possibile. Meglio 1 notifica al mese sempre reale che 10 notifiche di cui 7 sono rumore.

Il pattern multiregione: consenso di N sonde

Il principio:

  1. Hai 3 nodi worker in 3 città (primary a Liptovský Hrádok, eu2 a Liptovský Mikuláš, eu1 a Bratislava). La soglia predefinita = 2 su 3, che dà un vero consenso (non unanime). L'architettura supporta un numero qualsiasi di nodi; in fase di espansione si aggiungono al meccanismo di consenso esistente.
  2. A ogni intervallo tutte le sonde testano l'endpoint in parallelo.
  3. Unisci i risultati: un'interruzione è confermata se M sonde su N la segnalano (tipicamente M = 2 o più).
  4. Il guasto di una singola sonda non scatena un allarme - se una sonda segnala "down" ma le altre segnalano "up", il sistema resta nello stato UP.

Si tratta del cosiddetto consensus algorithm (algoritmo di consenso), simile a Raft o Paxos - la decisione si prende a maggioranza di voti.

Configurazione pratica

Nel pannello di amministrazione di ePulz.io, il multiregione si attiva con un singolo interruttore e si configura tramite:

  • Regioni attive - l'elenco dei worker, tipicamente 3-5
  • Soglia di consenso - quante regioni devono dire DOWN (predefinito: 2)
  • Worker token - un segreto condiviso (shared secret) tra il server principale e i worker per la verifica

A ogni controllo, il server principale interpella tutti i worker in parallelo tramite l'API HTTP. Un worker esegue un test HTTP, TCP o ping locale e restituisce il risultato. Il server principale valuta il consenso ed escala l'alert solo quando la soglia viene superata.

Trade-off

Pro:

  • Drasticamente meno falsi allarmi
  • Visualizzazione geografica - vedi da quali regioni il sito non funziona
  • Rilevamento di interruzioni regionali (problema con un PoP Cloudflare, routing difettoso presso un ISP)

Contro:

  • Latenza leggermente maggiore tra l'interruzione reale e l'alert (si attende il consenso da più fonti)
  • Requisiti infrastrutturali più alti e un piano tariffario superiore
  • Disponibilità dei worker - se metà dei worker sono a loro volta irraggiungibili, la soglia potrebbe non essere raggiungibile (la soluzione è una soglia dinamica = M tra le sonde attualmente attive)

Esempio di calcolo del consenso

Configurazione di 3 nodi worker realmente distribuiti: primary a Liptovský Hrádok (SK), eu2 a Liptovský Mikuláš (SK), eu1 a Bratislava (SK), soglia = 2.

Scenario primary (Liptov) eu1 (Bratislava) eu2 (Liptov) Alert?
Tutto OK UP UP UP No
BGP flap tra Liptov e il tuo hosting DOWN UP UP No (1 su 3)
Guasto HW della macchina primary DOWN UP DOWN Sì (2 su 3)
Interruzione reale del tuo server DOWN DOWN DOWN

Come distribuire i tuoi worker

Un worker è un semplice servizio che riceve task di controllo via HTTPS, esegue il test e restituisce il risultato. ePulz.io supporta i worker personalizzati tramite un tunnel WireGuard, così possono girare su qualsiasi VPS senza IP pubblico e comunicare con il server principale tramite un tunnel cifrato.

Configurare un singolo worker richiede in pratica circa 10 minuti (apt install wireguard, copia della config peer, systemctl enable). Ottieni così punti di osservazione davvero indipendenti, che combinano diversità geografica (città diverse) con ridondanza hardware (macchine diverse nella stessa città).

Conclusione

Il monitoraggio multiregione non è solo uno slogan di marketing. È un pattern ingegneristico concreto (quorum, ovvero consenso) che porta il monitoraggio dal livello "vedo ciò che vede una posizione di rete" al livello "vedo ciò che vede internet". Per le applicazioni business critiche oggi è lo standard.

Elimina gli alert falsi positivi

Cross-check multiregione nei piani base (gestito centralmente). 7 giorni gratis.

Avvia il monitoraggio →

Correlati

Condividi: Link copiato

Prova ePulz.io gratis - 7 giorni senza carta di credito.

Crea account