Osservabilità API: collegare segnali e decisioni

In sintesi

Un pannello di disponibilità non spiega ogni operazione lenta o errata. Partire dal percorso utente e collegare misure, eventi e dipendenze utili alla diagnosi.

Armadi di comunicazione e cablaggio di rete in una sala vuota Illustrazione · scena fittizia
In questo articolo

Scegliere il segnale adatto

OpenTelemetry distingue, fra gli altri, metriche, log e tracce. Sono complementari, senza garantire visibilità completa. Documentare periodo, copertura ed esclusioni; una media può nascondere le richieste più lente.

DomandaSegnale utileLimite
Quante richieste falliscono?Metriche aggregateDefinire errori, ambito e periodo.
Dove si perde tempo?Traccia e durata delle fasiCampionamento e dipendenze non strumentate.
Quale evento è avvenuto?Log strutturatoSenza segreti o dati eccessivi.
Il percorso funziona?Sonda funzionaleUno scenario non copre tutti gli usi.

Rendere la diagnosi operativa

  • Misurare traffico, errori e distribuzione delle durate per operazione normalizzata. Evitare identificativi utente e URL variabili nelle etichette delle metriche.
  • Associare eventi a identificativo di correlazione e versione del servizio. Verificare propagazione del contesto e campionamento prima di cercare tracce mancanti.
  • Assegnare a ogni allarme impatto, responsabile e prima azione. Usare account dedicati nelle sonde ed evitare operazioni irreversibili.

Proteggere i dati e verificare gli esiti

Escludere password, token e contenuti sensibili dai log; limitare accessi e conservazione. Un successo HTTP può contenere un risultato funzionale errato. Verificare anche invarianti e autorizzazioni in ambiente controllato.

Fonti primarie

Collegare la telemetria a un'attività utente

Metriche, log e tracce rispondono a domande diverse. Un tempo di attività elevato può nascondere un errore durante il processo di checkout o di accesso. Definire il risultato atteso dagli utenti, quindi strumentare le chiamate che lo forniscono.

  • Scegliere un indicatore di percorso per il successo, la latenza e gli errori visibili all'utente.
  • Propagare la correlazione tra i servizi limitando al contempo i dati sensibili nelle tracce.
  • Simulare un errore di dipendenza per verificare se gli avvisi portano ad azioni e a una modalità degradata comprensibile.

Fonte primaria: OpenTelemetry — Observability primer. Metodo correlato: consultare la guida pratica.

Interruzione della raccolta: riconciliare log ed eventi mancanti

Distinguere eventi prodotti, ricevuti e utilizzabili senza leggere il silenzio come assenza di incidenti.

  • Mappa applicazione, collettore e archivio con responsabili. Prepara una sequenza finita di eventi fittizi con identificatori stabili, senza segreti o dati clienti. Conserva tempo dell’evento e dell’osservazione: il ritardo non indica automaticamente perdita.
  • In test interrompi la destinazione e ripristinala. Osserva coda, tentativi, rifiuti e riavvio. Una coda persistente può limitare perdite, ma è finita e dipende dall’archivio; definisci cosa accade quando è piena. Verifica che la raccolta non blocchi silenziosamente il servizio.
  • Riconcilia il riferimento con gli eventi leggibili allo stesso momento di arresto. Conta ripetizioni, ritardi e assenze separatamente; conferma di rete non prova usabilità finale. Senza riferimento affidabile dichiara copertura ignota, non zero perdite o incidenti.

Caso di accettazione riproducibile

Esempio fittizio: questi dati non descrivono clienti o risultati osservati.

Vedi dati del caso
{
    "expected_ids": [
        "E1",
        "E2",
        "E3"
    ],
    "received_ids": [
        "E1",
        "E1",
        "E3"
    ],
    "received_rows": 3,
    "unique_received": 2,
    "missing_ids": [
        "E2"
    ],
    "observation_cutoff": "same_for_both_sets"
}

Decisione attesa

Esempio fittizio: si attendono E1, E2 ed E3, ma arrivano E1, E1 ed E3. Tre righe non provano completezza: E1 si ripete ed E2 manca all’arresto.

OpenTelemetry — Collector resiliency

Tre righe ricevute provano tre eventi conservati?

No. Due righe possono ripetere un identificatore e nascondere un’assenza. Confronta identificatori, finestra osservata e stadi della catena.

Fonte primaria: OpenTelemetry — Collector resiliency. Metodo correlato: consultare la guida pratica.

Sottodomini abbandonati: rimuovere un CNAME con controllo

Collegare i nomi DNS a risorse controllate e chiudere le dipendenze prima del rilascio.

  • Registra nome, catena CNAME, risorsa del fornitore e responsabile. Confronta DNS e inventario dell’account autorizzato. Errori HTTP, NXDOMAIN o risorse assenti richiedono verifica, ma non provano la possibilità di acquisizione; le protezioni variano.
  • Elimina il riferimento o usa una destinazione controllata prima di rilasciare la risorsa. Considera TTL precedenti e cache; verifica DNS autoritativo e più resolver. Conserva le validazioni di proprietà ancora necessarie, senza cancellare tutti i TXT.
  • Verifica link, redirect, callback OAuth, webhook e domini dei cookie. Se la risorsa è già stata liberata, correggi DNS e indaga eventuali esposizioni tramite la procedura d’incidente. Riconcilia DNS e risorse dopo ogni eliminazione.

Caso di accettazione riproducibile

Esempio fittizio: questi dati non descrivono clienti o risultati osservati.

Vedi dati del caso
{
    "name": "portal.example",
    "cname_present": true,
    "resource_deleted": true,
    "provider_claimability": "not_verified",
    "takeover_observed": false,
    "expected": "remove_or_replace_mapping_and_review_exposure"
}

Decisione attesa

Esempio fittizio: portal.example punta a una risorsa eliminata. Rimuovi il CNAME o usa una destinazione controllata; l’assenza non dimostra un’acquisizione da parte di terzi.

Microsoft — Prevent dangling DNS entries

Fonte primaria: Microsoft — Prevent dangling DNS entries. Metodo correlato: consultare la guida pratica.

Tentativi API: contare l’intero budget di tempo

Separare chiamate, attese e percorso completo.

Caso didattico fittizio: i numeri non rappresentano CIE o clienti.

Modello fittizio: quattro chiamate fino a 250 ms e attese di 100, 200, 400 ms. Esclusi jitter, connessione, code e verifica locale.

Tentativi totali
41 + 3
Attese accumulate (ms)
700100 + 200 + 400
Budget modellato (ms)
17004 × 250 + 700
Scomporre la sequenza
PassoChiamata massima (ms)Attesa successiva (ms)
Tentativo 1250100
Tentativo 2250200
Tentativo 3250400
Tentativo 42500
Totale1000700
Durate del modello (ms)
  • Tempo delle chiamate1000
  • Attese accumulate700
  • Scadenza globale (ms)1500

Controlli prima di concludere

  1. 1.000 + 700 = 1.700 ms supera la scadenza di 1.500 ms.
  2. Propagare la scadenza globale ed evitare effetti duplicati; timeout non significa annullamento remoto.

Provare un budget di tentativi

n × T + W × (2^(n−1) − 1)

Metodo correlato: consultare la guida pratica.

Riferimenti: dati, usi e limiti

Documentazione consultata il .

Le note dettagliate di questa edizione sono disponibili in inglese.

Riferimenti: dati, usi e limiti
Fonte e finalitàDato o riferimento verificatoCome utilizzarloLimite da conservare
NIST · SP 800-61 Rev. 3

Prepare incident response within cybersecurity risk management.

Revision 3 was published in April 2025 and supersedes Revision 2. It is a CSF 2.0 Community Profile. Rehearse containment decisions, evidence preservation, communication and recovery. Compare planned actions with evidence produced during the exercise.

Approfondire il metodo →

Reading the guide does not validate a local plan. Contacts, emergency access and dependencies need local testing.
Google · Core Web Vitals

Distinguish loading, responsiveness and visual stability.

Good thresholds are LCP ≤ 2.5 s, INP ≤ 200 ms and CLS ≤ 0.1 at the 75th percentile, segmented by mobile and desktop. Separate field measurement from laboratory tests. Record period, URL, device, population and sample size before comparing changes.

Approfondire il metodo →

These thresholds are not measured results for this site. A good lab score alone does not establish visitor experience.

API: deprecazione e ritiro

Le note dettagliate di questa edizione sono disponibili in inglese.

Announced retirement and continuity to verify

A Sunset field signals intent; it establishes neither actual shutdown nor guaranteed continuity until then. Prepare dependencies, data and access to move.

  • Identify the announcement’s exact scope and owner.
  • Keep dates and updates with receipt evidence.
  • Test exit, in-flight operations and removal of obsolete access.

Compare deprecation and retirement announcements →

IETF · RFC 9745 · Deprecation · Standards Track · March 2025 · §2–5 · consulted 2026-10-23

IETF · RFC 8594 · Sunset · Informational · May 2019 · §3–5, §8 · consulted 2026-10-23