Share via


Suggerimenti per la raccolta di dati sulle prestazioni

Si applica a questa raccomandazione per l'efficienza delle prestazioni di Azure Well-Architected Framework:

PE:04 Raccogliere dati sulle prestazioni. I componenti e i flussi del carico di lavoro devono fornire metriche e log automatici, continui e significativi. Raccogliere dati a diversi livelli del carico di lavoro, ad esempio l'applicazione, la piattaforma, i dati e i livelli del sistema operativo.

La raccolta dei dati sulle prestazioni è il processo di raccolta di metriche e log che forniscono informazioni sulle prestazioni di un carico di lavoro. Questi dati includono valori numerici, noti come metriche. Le metriche descrivono lo stato del sistema in un determinato momento. Include anche i log che contengono tipi diversi di dati organizzati in record.

Raccogliendo i dati sulle prestazioni, è possibile monitorare e analizzare le prestazioni di un carico di lavoro. È possibile usare queste informazioni per identificare i colli di bottiglia delle prestazioni, risolvere i problemi, ottimizzare l'allocazione delle risorse e prendere decisioni basate sui dati per migliorare l'efficienza complessiva delle prestazioni del carico di lavoro.

Senza informazioni dettagliate basate sui dati, è possibile che non si sia a conoscenza dei problemi di prestazioni sottostanti o delle opportunità di ottimizzazione. I risultati potenziali includono tempi di risposta più lenti, riduzione della velocità effettiva, aumento dell'utilizzo delle risorse e infine un'esperienza utente non ottimale. Inoltre, la mancanza di dati sulle prestazioni rende difficile diagnosticare e risolvere i problemi in modo tempestivo, causando tempi di inattività prolungati e riduzione della produttività.

Definizioni

Termine Definizione
Log attività Log che tengono traccia delle operazioni di gestione sulle risorse, ad esempio l'eliminazione di una risorsa.
Log applicazioni Log che tengono traccia delle informazioni su eventi, errori e altre attività dell'applicazione, ad esempio gli accessi e gli errori di connessione al database.
Strumento di monitoraggio delle prestazioni delle applicazioni (APM) Strumento che monitora e segnala le prestazioni di un'applicazione.
Strumentazione del codice Acquisizione diretta o indiretta delle metriche delle prestazioni dal punto di vista del codice dell'applicazione. Le metriche acquisite includono metriche di flusso, uso delle risorse e metriche specifiche del linguaggio o del runtime.
Analisi distribuita Raccolta e correlazione delle metriche tra i componenti del carico di lavoro distribuiti.
Sink delle metriche Destinazione di archiviazione per le metriche che correla i dati delle serie temporali per l'analisi.
Log della piattaforma Dati di diagnostica e controllo che includono log delle risorse, log attività e log di controllo.
Metriche della piattaforma Valori numerici che registrano le prestazioni del carico di lavoro in un determinato momento.
Log risorse Dati generati da un sistema. Fornisce informazioni sullo stato del sistema.
Errori Rx/Tx Numero di errori di ricezione e trasmissione di errori in un'interfaccia di rete.
Registrazione strutturata Definizione di un formato significativo per registrare i messaggi, in genere come coppie chiave-valore.

Strategie di progettazione chiave

L'ottimizzazione delle prestazioni richiede dati per misurare le prestazioni correnti di un carico di lavoro o un flusso rispetto agli obiettivi di prestazioni. È necessario raccogliere la quantità e la diversità di dati corretti per misurare le prestazioni del codice e dell'infrastruttura rispetto agli obiettivi di prestazioni. Assicurarsi che ogni componente e flusso all'interno del carico di lavoro generi automaticamente metriche e log continui e significativi. È necessario eseguire l'origine di questi dati da diversi livelli, ad esempio l'applicazione, la piattaforma, l'archiviazione e il sistema operativo. La raccolta completa dei dati sulle prestazioni consente una comprensione olistica delle prestazioni, consentendo un'identificazione precisa delle inefficienze e dei percorsi di miglioramento.

Centralizzare i dati sulle prestazioni

La centralizzazione delle metriche e dei log delle prestazioni è il processo di raccolta di metriche e log delle prestazioni da varie origini e l'archiviazione in una posizione centrale. Creare un sink delle metriche centrale e un sink di log centrale. Questa centralizzazione consente di accedere, analizzare e monitorare facilmente le metriche e i log delle prestazioni in sistemi e componenti diversi. Centralizzando le metriche e i log, si ottiene visibilità sulle prestazioni del carico di lavoro. Scegliere una piattaforma o uno strumento appropriato in grado di aggregare e archiviare le metriche e i log delle prestazioni del carico di lavoro.

Compromesso: comprendere il costo della raccolta di metriche e log. In generale, più metriche e log vengono raccolti, maggiore è il costo.

Dati sulle prestazioni dei segmenti

La segmentazione dei dati sulle prestazioni comporta l'organizzazione e la categorizzazione di metriche e log in base all'origine, allo scopo o all'ambiente. Ad esempio, è necessario separare i dati di produzione dai dati non di produzione o distinguere tra obiettivi di prestazioni e metriche aziendali. La segmentazione dei dati consente di ottimizzare ambienti specifici, facilitare la risoluzione dei problemi e limitare le inesattezze nel monitoraggio delle prestazioni. Mantenendo una chiara distinzione tra tipi di dati diversi, è possibile acquisire, analizzare e rispondere alle metriche pertinenti in modo più efficiente e allineare meglio l'integrità del carico di lavoro agli obiettivi del carico di lavoro. Per segmentare i dati sulle prestazioni, prendere in considerazione i consigli seguenti:

  • Mantenere separati i dati di produzione e i dati non di produzione. Separando i dati in base all'ambiente, è possibile garantire il monitoraggio e l'ottimizzazione incentrati di ogni ambiente. Negli ambienti di produzione è possibile identificare e risolvere meglio i problemi di prestazioni che interessano direttamente gli utenti e le operazioni aziendali. Negli ambienti non di produzione, la separazione dei dati facilita la risoluzione dei problemi e l'ottimizzazione efficaci durante la fase di test prima della distribuzione nell'ambiente di produzione.

  • Usare un set di dati all'interno di ogni ambiente. Non usare un set di dati per gli obiettivi di prestazioni e un altro set di dati per gli avvisi correlati agli obiettivi di prestazioni. L'uso di set di dati diversi comporta avvisi non accurati che minano l'efficacia del monitoraggio delle prestazioni.

  • Separare gli obiettivi di prestazioni e le metriche aziendali. I team operativi e di sviluppo usano obiettivi di prestazioni per monitorare l'integrità del carico di lavoro e soddisfare gli obiettivi aziendali. Le metriche aziendali sono correlate agli obiettivi aziendali o ai report dei clienti. Acquisire le metriche aziendali in un flusso di dati separato, anche se i dati si sovrappongono direttamente. La separazione offre flessibilità per acquisire i dati corretti e analizzare in modo indipendente i dati.

Definire i criteri di conservazione

I criteri di conservazione determinano per quanto tempo devono essere conservati i dati sulle prestazioni. La definizione di questi criteri consente di gestire in modo efficiente l'archiviazione e garantisce che solo i dati necessari siano accessibili per l'analisi. Tali criteri supportano prestazioni migliori e soddisfano gli standard di conformità. È consigliabile configurare i criteri di conservazione per i dati dei log e delle metriche per abilitare la risoluzione dei problemi e il monitoraggio efficaci in tutti gli ambienti. Ad esempio, i log e le metriche potrebbero dover essere conservati per più tempo in un ambiente di produzione rispetto all'ambiente di test. Il periodo di conservazione deve corrispondere ai requisiti e alle normative di conformità dell'organizzazione. Decidere per quanto tempo conservare i dati a scopo di analisi e controllo. Archiviare i dati non necessari per l'analisi immediata.

Raccogliere dati sulle prestazioni dell'applicazione

La raccolta dei dati dell'applicazione comporta il monitoraggio e l'analisi delle metriche delle prestazioni di un'applicazione, ad esempio velocità effettiva, latenza e tempi di completamento, raccolti principalmente tramite codice di strumentazione. I dati sulle prestazioni dell'applicazione forniscono informazioni dettagliate preziose sull'integrità e sulle prestazioni di un'applicazione. Monitorando e analizzando i dati sulle prestazioni, è possibile identificare e risolvere i problemi, ottimizzare le prestazioni dell'applicazione e prendere decisioni informate per l'applicazione.

Codice instrumentare

La strumentazione fa riferimento al processo di incorporamento di frammenti di codice o all'integrazione di strumenti in un codice dell'applicazione. Lo scopo della strumentazione è acquisire i dati sulle prestazioni durante l'esecuzione dell'applicazione. È essenziale raccogliere metriche che evidenziano le operazioni critiche dell'applicazione. Concentrarsi sulle metriche, ad esempio velocità effettiva, latenza e tempo di completamento. È importante distinguere tra operazioni e operazioni correlate all'azienda che non sono. Per i dati relativi alle operazioni aziendali, assicurarsi che i relativi metadati siano strutturati in modo da consentire il rilevamento e l'archiviazione distinti. Il motivo principale per la strumentazione del codice consiste nel raccogliere dati su come l'applicazione gestisce il carico di lavoro. e in grado di offrire i vantaggi indicati di seguito.

  • Identificazione dei colli di bottiglia delle prestazioni: Monitorando le metriche, ad esempio l'uso della CPU e la memoria, è possibile identificare i colli di bottiglia e ottimizzare il codice di conseguenza.

  • Valutazione del comportamento del sistema in un carico: È possibile vedere come l'applicazione viene eseguita in diversi carichi di lavoro e scenari di stress. Questi dati consentono di identificare i problemi correlati alla scalabilità, alla concorrenza e all'uso delle risorse.

  • Rilevamento dell'integrità e della disponibilità dell'applicazione: Poiché gli indicatori di prestazioni chiave vengono monitorati in tempo reale, è possibile ottenere avvisi sui potenziali problemi che influiscono sulle prestazioni e sulla disponibilità dell'applicazione.

  • Migliorare l'esperienza utente: È possibile ottenere informazioni dettagliate su come gli utenti interagiscono con l'applicazione. Usare queste informazioni per ottimizzare l'esperienza utente e identificare le aree per il miglioramento.

  • Pianificare la capacità e allocare le risorse: I dati sulle prestazioni raccolti dalla strumentazione possono fornire informazioni dettagliate preziose sui requisiti delle risorse di un'applicazione. Queste informazioni possono informare le decisioni sulla pianificazione della capacità e sull'allocazione delle risorse.

Quando si instrumenta il codice per il monitoraggio delle prestazioni, prendere in considerazione le strategie seguenti:

  • Usare gli strumenti APM: gli strumenti di APM possono raccogliere e analizzare i dati sulle prestazioni, tra cui metriche, tracce e log. Gli strumenti APM offrono funzionalità come strumentazione a livello di codice, traccia delle transazioni e profilatura delle prestazioni.

  • Usare framework di registrazione e traccia: i framework di registrazione e traccia sono strumenti o librerie che gli sviluppatori si integrano nelle applicazioni per facilitare la registrazione e la traccia. Questi framework forniscono funzioni per generare log, richieste di traccia e talvolta anche formattare o trasportare i dati generati. Incorporando framework di registrazione e traccia nella code base, gli sviluppatori possono acquisire dati pertinenti durante il runtime. I dati possono includere informazioni sul percorso in esecuzione, I/O e prestazioni.

  • Strumentazione personalizzata: gli sviluppatori possono aggiungere codice personalizzato per raccogliere le metriche delle prestazioni univoche per l'applicazione e il carico di lavoro. La strumentazione personalizzata può misurare i runtime, tenere traccia dell'utilizzo delle risorse o acquisire eventi specifici. Scrivere strumentazione del codice personalizzato solo quando le metriche della piattaforma non sono sufficienti. In alcune situazioni, la risorsa della piattaforma può misurare l'aggregazione o anche le prospettive granulari dell'applicazione. Pesare la domanda se duplicare tale sforzo usando codice personalizzato contro i compromessi del codice in eccesso o la dipendenza da una funzionalità della piattaforma.

  • Acquisire i tempi di transazione. L'acquisizione dei tempi delle transazioni è correlata alla misurazione degli orari end-to-end per le funzioni tecniche chiave come parte del monitoraggio delle prestazioni. Le metriche a livello di applicazione devono includere tempi di transazione end-to-end. Questi tempi di transazione devono coprire funzioni tecniche chiave, ad esempio query di database, tempi di risposta per chiamate API esterne e tassi di errore dei passaggi di elaborazione.

  • Usare gli standard di telemetria. Prendere in considerazione l'uso di librerie e strumenti di strumentazione degli strumenti APM basati su uno standard di telemetria, ad esempio OpenTelemetry.

Abilitare la traccia distribuita

La traccia distribuita è una tecnica usata per tenere traccia e monitorare le richieste durante il flusso attraverso un sistema distribuito. Consente di tracciare il percorso di una richiesta durante il viaggio tra più servizi e componenti, fornendo informazioni preziose sulle prestazioni e sull'efficienza del carico di lavoro. La traccia distribuita è importante per l'efficienza delle prestazioni perché consente di identificare colli di bottiglia, problemi di latenza e aree per l'ottimizzazione all'interno di un sistema distribuito. È possibile individuare la posizione in cui si verificano ritardi o inefficienze e intraprendere azioni appropriate per migliorare le prestazioni visualizzando il flusso di una richiesta. Seguire questa procedura per abilitare la traccia distribuita:

  1. Iniziare instrumentando le applicazioni e i servizi per generare dati di traccia. Usare librerie o framework che supportano la traccia distribuita, ad esempio OpenTelemetry.

  2. Assicurarsi che le informazioni di traccia vengano propagate tra i limiti del servizio. In genere è necessario passare un ID di traccia univoco e altre informazioni contestuali con ogni richiesta.

  3. Configurare un sistema di raccolta di traccia centralizzato. Questo sistema raccoglie e archivia i dati di traccia generati dalle applicazioni e dai servizi.

  4. Usare i dati di traccia raccolti per visualizzare il flusso end-to-end delle richieste e analizzare le caratteristiche delle prestazioni del sistema distribuito.

Raccogliere i registri applicazioni

Quando si instrumenta il codice, uno degli output principali deve essere log dell'applicazione. La registrazione consente di comprendere come viene eseguita l'applicazione in vari ambienti. I log delle applicazioni registrano le condizioni che producono eventi dell'applicazione. Raccogliere i log delle applicazioni in tutti gli ambienti dell'applicazione. Le voci di log corrispondenti nell'applicazione devono acquisire un ID di correlazione per le rispettive transazioni. L'ID correlazione deve correlare gli eventi del log dell'applicazione nei flussi di applicazioni critici, ad esempio l'accesso utente. Usare questa correlazione per valutare l'integrità degli scenari chiave nel contesto di destinazioni e requisiti non funzionali.

È consigliabile usare la registrazione strutturata. La registrazione strutturata consente di velocizzare l'analisi e l'analisi dei log. Semplifica l'indicizzazione, la query e il report dei log senza complessità. Aggiungere e usare una libreria di registrazione strutturata nel codice dell'applicazione. A volte le voci di log consentono di correlare i dati che non è stato possibile correlare con altri mezzi.

Raccogliere i dati sulle prestazioni delle risorse

Raccogliendo dati sulle prestazioni delle risorse, è possibile ottenere informazioni dettagliate sull'integrità e sul comportamento del carico di lavoro. I dati sulle prestazioni delle risorse forniscono informazioni sull'uso delle risorse, chiave per la pianificazione della capacità. Questi dati forniscono anche informazioni dettagliate sull'integrità di un carico di lavoro e consentono di rilevare i problemi e risolvere i problemi. Considerare le seguenti indicazioni:

  • Raccogliere metriche e log per ogni risorsa. Ogni servizio di Azure ha un set di metriche univoche per la funzionalità della risorsa. Queste metriche consentono di comprendere l'integrità e le prestazioni della risorsa. Aggiungere un'impostazione di diagnostica per ogni risorsa per inviare le metriche a una posizione a cui il team del carico di lavoro può accedere durante la compilazione di avvisi e dashboard. I dati delle metriche sono disponibili per l'accesso a breve termine. Per l'accesso a lungo termine o per l'accesso da un sistema esterno a Monitoraggio di Azure, inviare i dati delle metriche al sink unificato alla posizione di accesso.

  • Usare gli strumenti della piattaforma. Raccogliere ispirazione da soluzioni di monitoraggio integrate e predefinite, ad esempio Azure Monitor Insights. Questo strumento semplifica le operazioni sulle prestazioni. Prendere in considerazione gli strumenti della piattaforma quando si seleziona una piattaforma e si investe in strumenti o report personalizzati.

  • Monitorare il traffico di rete. Il monitoraggio del traffico di rete significa tenere traccia e analizzare il flusso e i modelli di dati durante lo spostamento tra percorsi di rete. Raccogliere analisi del traffico e monitorare il traffico che attraversa i limiti della subnet. L'obiettivo è analizzare e ottimizzare le prestazioni di rete.

Raccogliere dati di database e archiviazione

Molti sistemi di database e archiviazione offrono strumenti di monitoraggio personalizzati. Questi strumenti raccolgono dati sulle prestazioni specifici di tali sistemi. I sistemi di database e archiviazione spesso generano log che contengono eventi e indicatori correlati alle prestazioni. Raccogliere dati di database e dati sulle prestazioni dell'archiviazione in modo da poter identificare colli di bottiglia, diagnosticare i problemi e prendere decisioni informate per migliorare le prestazioni complessive e l'affidabilità del carico di lavoro. Prendere in considerazione la raccolta dei tipi di dati sulle prestazioni seguenti:

  • Velocità effettiva: la velocità effettiva misura la quantità di dati letti da o scritti nel sistema di archiviazione in un periodo di tempo. I dati di velocità effettiva indicano le funzionalità di trasferimento dei dati.

  • Latenza: la latenza misura la durata delle operazioni di archiviazione. I dati di latenza indicano la velocità di risposta del sistema di archiviazione.

  • Operazioni di I/O al secondo: dati sul numero di operazioni di lettura o scrittura che il sistema di archiviazione può eseguire in un secondo. I dati di I/O al secondo indicano la velocità effettiva e la velocità di risposta del sistema di archiviazione.

  • Utilizzo della capacità: l'uso della capacità è la quantità di capacità di archiviazione usata e la quantità disponibile. I dati di utilizzo della capacità consentono alle organizzazioni di pianificare le esigenze di archiviazione future.

Per i database, è anche necessario raccogliere metriche specifiche del database:

  • Prestazioni delle query: dati relativi al tempo di esecuzione, all'utilizzo delle risorse e all'efficienza delle query di database. Le query di database lente o inefficienti possono rallentare significativamente un carico di lavoro. Cercare query lente e che vengono eseguite di frequente.

  • Prestazioni delle transazioni: dati sulle prestazioni delle transazioni di database, ad esempio durata delle transazioni, concorrenza e contesa di blocco.

  • Prestazioni dell'indice: dati sulle prestazioni degli indici di database, ad esempio la frammentazione dell'indice, le statistiche di utilizzo e l'ottimizzazione delle query.

  • Uso delle risorse: dati che includono CPU, memoria, spazio su disco, I/O e larghezza di banda di rete.

  • Metriche di connessione: metriche che tengono traccia del numero di connessioni attive, interrotte e non riuscite. I tassi di errore elevati potrebbero indicare problemi di rete o potrebbero indicare che il database ha raggiunto il numero massimo di connessioni.

  • Tariffe delle transazioni: numero di transazioni eseguite da un database al secondo. Una modifica delle tariffe delle transazioni può indicare problemi di prestazioni.

  • Velocità di errore: dati che indicano prestazioni del database. I tassi di errore elevati potrebbero indicare un problema di prestazioni. Raccogliere e analizzare gli errori del database.

Raccogliere i dati del sistema operativo (se applicabile)

Una soluzione PaaS (Platform as a Service) elimina la necessità di raccogliere i dati sulle prestazioni del sistema operativo. Tuttavia, se il carico di lavoro viene eseguito in macchine virtuali (infrastruttura come servizio), è necessario raccogliere dati sulle prestazioni sul sistema operativo. È necessario comprendere la domanda sul sistema operativo e sulla macchina virtuale. Contatori delle prestazioni del sistema operativo di esempio di frequente. Ad esempio, è possibile eseguire l'esempio dei contatori delle prestazioni ogni minuto.

Almeno, raccogliere dati sulle aree di prestazioni seguenti.

Area prestazioni Processo o funzione
CPU - Utilizzo della CPU (modalità utente o modalità con privilegi)
- Lunghezza della coda DELLA CPU (numero di processi in attesa di tempo CPU)
Processo - Numero di thread di elaborazione
- Conteggio dei gestori di processi
Memoria - Memoria di commit
- Memoria disponibile
- Pagine al secondo
- Utilizzo dello spazio di scambio
Disco - Lettura disco
- Scritture su disco
- Velocità effettiva del disco
- Utilizzo dello spazio su disco
Rete - Velocità effettiva dell'interfaccia di rete
- Errori Rx/Tx dell'interfaccia di rete

Convalidare e analizzare i dati

I dati sulle prestazioni devono essere allineati alle destinazioni di prestazioni. I dati devono rappresentare completamente e accuratamente le prestazioni del carico di lavoro o del flusso in relazione alle destinazioni di prestazioni. Ad esempio, il tempo di risposta per un servizio Web ha una destinazione di prestazioni di 500 ms. Eseguire una routine per analizzare i dati, poiché le valutazioni frequenti consentono il rilevamento anticipato e la mitigazione dei problemi di prestazioni.

  • Creare avvisi. È utile disporre di avvisi che possono essere attivati, abilitando l'identificazione e la rettifica dei problemi di prestazioni. Questi avvisi devono indicare chiaramente la soglia di prestazioni violata, l'effetto aziendale potenziale e i componenti coinvolti. Iniziare impostando un avviso comune e consigliato. Nel tempo, è possibile modificare questi criteri in base alle esigenze specifiche. L'obiettivo principale di questi avvisi deve essere quello di prevedere potenziali perdite di prestazioni prima dell'escalation in problemi significativi. Se non è possibile impostare un avviso per una dipendenza esterna, è consigliabile definire un metodo per raccogliere misurazioni indirette, ad esempio la durata di una chiamata di dipendenza.

  • Impostare i limiti di raccolta dati. Determinare e impostare limiti logici sul volume di dati raccolti e sulla relativa durata di conservazione. I dati di telemetria possono talvolta produrre grandi quantità di dati. È essenziale concentrarsi sull'acquisizione solo degli indicatori di prestazioni più importanti o di un sistema efficiente per estrarre informazioni significative dai dati sulle prestazioni.

Facilitazione di Azure

Centralizzazione, segmentazione e conservazione dei dati sulle prestazioni: Monitoraggio di Azure raccoglie e aggrega i dati da ogni livello e componente del carico di lavoro in più sottoscrizioni e tenant di Azure e non Azure. Archivia i dati in una piattaforma dati comune per l'utilizzo da parte di un set comune di strumenti che possono correlare, analizzare, visualizzare e/o rispondere ai dati.

È necessaria almeno un'area di lavoro Log Analytics per abilitare i log di Monitoraggio di Azure. È possibile usare una singola area di lavoro per tutte le raccolte di dati. È anche possibile creare più aree di lavoro in base ai requisiti per segmentare i dati sulle prestazioni. Consente inoltre di definire i criteri di conservazione.

Raccolta dei dati sulle prestazioni dell'applicazione: Application Insights è una funzionalità di Monitoraggio di Azure che consente di monitorare le prestazioni e la disponibilità dell'applicazione. Fornisce informazioni dettagliate a livello di applicazione raccogliendo dati di telemetria, ad esempio tassi di richiesta, tempi di risposta e dettagli sulle eccezioni. È possibile abilitare Application Insights per l'applicazione e configurarla per raccogliere i dati di prestazioni necessari. Application Insights supporta anche la traccia distribuita. Configurare la traccia distribuita per tutti i flussi. Per compilare flussi di transazioni end-to-end, correlare gli eventi provenienti da componenti o livelli dell'applicazione diversi.

I contatori delle prestazioni sono un modo efficace per monitorare le prestazioni dell'applicazione. Azure offre diversi contatori delle prestazioni che è possibile usare per raccogliere dati sull'utilizzo della CPU, sull'utilizzo della memoria, sull'I/O su disco, sul traffico di rete e altro ancora. Se si configura l'applicazione per generare dati del contatore delle prestazioni, Monitoraggio di Azure raccoglie e archivia i dati per l'analisi.

Raccolta dei dati sulle prestazioni delle risorse: la maggior parte dei servizi di Azure genera log e metriche della piattaforma che forniscono informazioni di diagnostica e controllo. Abilitando le impostazioni di diagnostica, è possibile specificare i log e le metriche della piattaforma da raccogliere e archiviare. A scopo di correlazione, abilitare la diagnostica per tutti i servizi supportati e quindi inviare i log alla stessa destinazione dei log dell'applicazione.

Raccolta di dati sulle prestazioni del database e dell'archiviazione: Monitoraggio di Azure consente di raccogliere dati sulle prestazioni per i database in Azure. È possibile abilitare il monitoraggio per database Azure SQL, Database di Azure per MySQL, Database di Azure per PostgreSQL e altri servizi di database. Monitoraggio di Azure fornisce metriche e log per il monitoraggio delle prestazioni del database, tra cui l'uso della CPU, l'uso della memoria e le prestazioni delle query. Per ricevere una notifica dei problemi, è possibile configurare gli avvisi in base alle soglie di prestazioni.

Azure offre raccomandazioni sulle prestazioni per i database, ad esempio SQL Server in Azure Macchine virtuali. Queste raccomandazioni consentono di ottimizzare le prestazioni dei carichi di lavoro del database. Includono suggerimenti per la raccolta di contatori delle prestazioni, l'acquisizione delle statistiche di attesa e la raccolta dei dati sulle prestazioni durante le ore di picco.

Azure Analisi archiviazione consente di raccogliere dati sulle prestazioni per i servizi di archiviazione di Azure, ad esempio Archiviazione BLOB, Archiviazione tabelle e Archiviazione code. È possibile abilitare la registrazione e le metriche per gli account di archiviazione per monitorare gli indicatori di prestazioni chiave, ad esempio il numero di operazioni di lettura/scrittura, velocità effettiva e latenza.

Raccolta dei dati sulle prestazioni del sistema operativo: L'estensione Diagnostica di Azure consente di raccogliere dati dettagliati sulle prestazioni dalle macchine virtuali, tra cui CPU, memoria, I/O su disco e traffico di rete. Questi dati possono essere inviati a Monitoraggio di Azure o ad altri servizi di archiviazione per l'analisi e l'avviso.

Convalida e analisi dei dati sulle prestazioni: all'interno di Monitoraggio di Azure è possibile usare i log di Monitoraggio di Azure per raccogliere, analizzare e visualizzare i dati dei log dalle applicazioni e dai sistemi. È possibile configurare i log di Monitoraggio di Azure per inserire i log dall'applicazione, inclusi i log a livello di applicazione e i log dell'infrastruttura. Aggregando i log, è possibile eseguire query incrociate e ottenere informazioni dettagliate sulle prestazioni dell'applicazione. Per altre informazioni, vedere Log di Monitoraggio di Azure calcoli e opzioni e opzioni e prezzi per Monitoraggio di Azure.

In Monitoraggio di Azure è possibile definire regole di avviso per monitorare metriche di prestazioni specifiche e attivare avvisi in base alle condizioni predefinite. Ad esempio, è possibile creare una regola di avviso per notificare quando l'utilizzo della CPU supera una determinata soglia o quando il tempo di risposta supera un limite specificato. Configurare la regola di avviso per inviare notifiche ai destinatari desiderati.

Quando si crea una regola di avviso, è possibile definire i criteri che determinano quando deve essere attivato un avviso. È possibile impostare soglie, metodi di aggregazione, finestre temporali e frequenza di valutazione. Definire i criteri in base ai requisiti di monitoraggio delle prestazioni. Oltre all'invio di notifiche, è possibile specificare le azioni da eseguire quando viene attivato un avviso. Le azioni possono includere l'invio di messaggi di posta elettronica, la chiamata di webhook o l'esecuzione di funzioni di Azure. Scegliere le azioni appropriate per rispondere allo scenario di avviso specifico.

Esempio

Elenco di controllo dell'efficienza delle prestazioni

Fare riferimento al set completo di raccomandazioni.