Che cos'è il monitoraggio?

Una volta distribuita un'applicazione nell'ambiente di produzione, il monitoraggio fornisce informazioni sui modelli di utilizzo e prestazioni dell'applicazione in modo da identificare, attenuare o risolvere i problemi.

Image of graph that shows how monitoring can indicate application performance and usage.

Obiettivi del monitoraggio

Un obiettivo del monitoraggio è ottenere la disponibilità elevata riducendo al minimo le metriche chiave misurate in termini di tempo:

  • Tempo necessario per rilevare (TTD): quando si verificano problemi di prestazioni o altri problemi, i dati di diagnostica avanzati sui problemi vengono restituiti ai team di sviluppo tramite il monitoraggio automatizzato.
  • Tempo necessario per mitigare (TTM): i team DevOps agiscono sulle informazioni per attenuare i problemi il più rapidamente possibile in modo che gli utenti non siano più interessati.
  • Tempo di correzione (TTR): i tempi di risoluzione vengono misurati e i team lavorano per migliorare nel tempo. Dopo la mitigazione, i team lavorano su come correggere i problemi nella causa radice in modo che non si eseguano di nuovo.

Un secondo obiettivo del monitoraggio consiste nell'abilitare l'apprendimento convalidato monitorando l'utilizzo. Il concetto di base dell'apprendimento convalidato è che ogni distribuzione è un'opportunità per tenere traccia dei risultati sperimentali che supportano o riducono le ipotesi che hanno portato alla distribuzione. Tenere traccia dell'utilizzo e delle differenze tra le versioni consente ai team di misurare l'impatto del cambiamento e guidare le decisioni aziendali. Se un'ipotesi è diminuita, il team può avere esito negativo veloce o pivot. Se l'ipotesi è supportata, il team può raddoppiare o perseverare. Queste decisioni informate sui dati portano a nuove ipotesi e alla definizione delle priorità del backlog.

Concetti chiave

La telemetria è il meccanismo per la raccolta di dati dal monitoraggio. I dati di telemetria possono usare gli agenti installati negli ambienti di distribuzione, un SDK che si basa su marcatori inseriti nel codice sorgente, nella registrazione del server o in una combinazione di questi elementi. In genere, i dati di telemetria si distingueranno tra la pipeline di dati ottimizzata per gli avvisi in tempo reale e i dashboard e i dati con volumi più elevati necessari per la risoluzione dei problemi o l'analisi dell'utilizzo.

Il monitoraggio sintetico usa un set coerente di transazioni per valutare le prestazioni e la disponibilità. Le transazioni sintetiche sono test prevedibili che hanno il vantaggio di consentire il confronto dal rilascio al rilascio in modo estremamente prevedibile. Il monitoraggio utente reale (RUM), d'altra parte, misura l'esperienza dal browser, dal dispositivo mobile o dal desktop dell'utente. Si tratta di condizioni dell'ultimo miglio , ad esempio reti cellulari, routing Internet e memorizzazione nella cache. A differenza dei sintetici, RUM in genere non fornisce misurazioni ripetibili nel tempo.

Il monitoraggio viene spesso usato per testare nell'ambiente di produzione. Una distribuzione ben monitorata trasmette i dati relativi all'integrità e alle prestazioni, in modo che sia possibile individuare immediatamente gli eventi imprevisti di produzione. In combinazione con una pipeline di versione di distribuzione continua, il monitoraggio rileverà nuove anomalie e consentirà la mitigazione della richiesta. In questo modo è possibile individuare le sconosciute sconosciute nel comportamento dell'applicazione che non possono essere previste in ambienti di pre-produzione.

Un monitoraggio efficace è essenziale per consentire ai team DevOps di offrire rapidamente, ottenere feedback dalla produzione e aumentare la soddisfazione, l'acquisizione e la conservazione dei clienti.

Passaggi successivi

Altre informazioni sulle funzionalità di monitoraggio di Monitoraggio di Azure.

Informazioni su come configurare e usare Application Insights per il monitoraggio.