Observability
Strumentare i servizi e ricostruire cosa è successo dentro un sistema distribuito in esecuzione, sapendo quanto costa tenere acceso lo stack e quando basta molto meno.
- 9
- Moduli a disposizione
- 11
- Articoli pubblicati
Su cosa si lavora
Uno stack completo in esecuzione: ingresso, coda, elaborazione, persistenza, con la raccolta dei segnali già configurata. Dentro c'è un servizio che risponde alle richieste e non emette telemetria.
I moduli
Sono a disposizione, non un programma da completare: si configurano secondo le esigenze del team in fase di discovery call.
Sempre incluso
- 01 Leggere un sistema e strumentarne un componente tutti gli altri lo presuppongono · 2 h Avvio dello stack, analisi di un primo guasto e correlazione fra i tre segnali, seguiti dalla prima strumentazione del servizio privo di telemetria.
A scelta, nell'ordine delle dipendenze
- 02 Strumentazione avanzata richiede la base · 2 h Ricostruzione completa della richiesta con propagazione del contesto, e strumentazione della persistenza dalla configurazione.
- 03 Automatica o manuale richiede la base · 2 h Quali risultati offre la strumentazione automatica e quali richiedono un intervento nel codice.
- 04 SLO e alerting richiede la base · 2 h Definizione di un obiettivo di servizio misurabile e allarme basato sul consumo del margine di errore.
- 05 Verifica degli allarmi richiede SLO e alerting · 2 h Introduzione di un guasto circoscritto e verifica di quali allarmi non si attivano.
- 06 Portabilità richiede la base · 2 h Sostituzione del backend dei segnali dalla sola configurazione, e limiti effettivi della portabilità.
- 07 Costi e dimensionamento indipendente · 2 h Costo misurato di esercizio, conservazione dei dati, campionamento e cardinalità.
- 08 Contenuti di una dashboard richiede la base · 2 h Quali indicatori si osservano quotidianamente e quali soltanto durante un incidente.
- 09 Esercitazione conclusiva richiede tutti i precedenti · 2 h Guasto non dichiarato, ruoli assegnati, causa da individuare a partire dai soli segnali.
Cosa resta al team
- ✓ Lo stack. I servizi, la coda, il generatore di carico e la raccolta dei segnali, con due comandi per avviarlo.
- ✓ Gli esercizi. I checkpoint scritti passo per passo, e la soluzione di riferimento completa.
- ✓ La parte onesta. I costi misurati, la proiezione sulla conservazione dei dati e la tabella per decidere quando basta meno.
Cosa non copre
La tabella con cui si chiude il percorso serve a decidere di non installare niente, se è il caso: un servizio e poche richieste all'ora non giustificano un collector intero.
Articoli e talk di riferimento
Quello che è già pubblicato su questo tema, leggibile prima di qualsiasi conversazione.
Observability nei sistemi distribuiti
Landing della serie →- Il costo dell'observability si decide in due punti 8 min
- Tutorial: Distributed Tracing con OpenTelemetry e LGTM Stack 19 min
- OpenTelemetry in Produzione: Tail Sampling e Retention 17 min
- OpenTelemetry in Produzione: Routing dei Dati per Compliance e Costi 18 min
- PII Filtering in OpenTelemetry: Proteggere i Dati Sensibili di Keycloak 13 min
- Da console.log a Grafana: logging strutturato e centralizzato con Node.js 8 min
Saturazione, SLO e alerting