Suggerimenti per la raccolta di dati sulle prestazioni
Si applica a questa raccomandazione per l'efficienza delle prestazioni del framework ben progettato di Azure:
PE:04 | Raccogliere i dati sulle prestazioni. I componenti e i flussi del carico di lavoro devono fornire metriche e log automatici, continui e significativi. Raccogliere dati a livelli diversi 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 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 potenziali risultati 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 una 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. |
Registri 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 | 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. |
Traccia 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 delle vie per il miglioramento.
Centralizzare la raccolta di 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 di 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 diversi sistemi e componenti. Centralizzando metriche e log, si ottiene visibilità sulle prestazioni del carico di lavoro. Scegliere una piattaforma o uno strumento adatto in grado di aggregare e archiviare metriche e log delle prestazioni del carico di lavoro.
Compromesso: comprendere il costo della raccolta di metriche e log. In generale, maggiore è la metrica e i log 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 imprecisioni 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 mirati di ogni ambiente. Negli ambienti di produzione è possibile identificare e risolvere meglio i problemi di prestazioni che influiscono direttamente sugli utenti e sulle 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 le destinazioni di prestazioni e un altro set di dati per gli avvisi correlati agli obiettivi di prestazioni. L'uso di diversi set di dati comporta avvisi non accurati che compromettono 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 alla creazione di 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 l'archiviazione in modo efficiente 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 consentire la risoluzione dei problemi e il monitoraggio efficaci in tutti gli ambienti. Ad esempio, i log e le metriche potrebbero dover essere mantenuti 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 la strumentazione del codice. 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 si riferisce 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 le metriche che evidenziano le operazioni critiche dell'applicazione. Concentrarsi sulle metriche, ad esempio velocità effettiva, latenza e tempo di completamento. È importante distinguere tra operazioni correlate all'azienda e operazioni che non lo sono. Per i dati relativi alle operazioni aziendali, assicurarsi che i 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 sul modo in cui l'applicazione gestisce il carico di lavoro. Sono disponibili i seguenti benefit:
Identificazione dei colli di bottiglia delle prestazioni: monitorando le metriche come 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 relativi 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 ricevere avvisi sui potenziali problemi che influiscono sulle prestazioni e sulla disponibilità dell'applicazione.
Migliorare l'esperienza utente: è possibile ottenere informazioni dettagliate sul modo in cui 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 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 relative alla pianificazione della capacità e all'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 APM possono raccogliere e analizzare i dati sulle prestazioni, tra cui metriche, tracce e log. Gli strumenti APM offrono funzionalità come la strumentazione a livello di codice, la traccia delle transazioni e la 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 i framework di registrazione e traccia nella codebase, gli sviluppatori possono acquisire dati pertinenti durante il runtime. I dati possono includere informazioni sul percorso in esecuzione, sull'I/O e sulle prestazioni.
Strumentazione personalizzata: gli sviluppatori possono aggiungere codice personalizzato per raccogliere 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 personalizzata solo quando le metriche della piattaforma non sono sufficienti. In alcune situazioni, la risorsa della piattaforma può misurare prospettive aggregate o persino granulari dell'applicazione. Valutare la domanda se duplicare tale sforzo usando codice personalizzato in caso di compromessi di codice in eccesso o dipendenza da una funzionalità della piattaforma.
Acquisisci i tempi delle transazioni. L'acquisizione dei tempi delle transazioni è correlata alla misurazione degli orari end-to-end per le principali funzioni tecniche come parte del monitoraggio delle prestazioni. Le metriche a livello di applicazione devono includere orari di transazione end-to-end. Questi tempi delle transazioni devono coprire funzioni tecniche chiave, ad esempio query di database, tempi di risposta per le chiamate API esterne e frequenza 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 dettagliate 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 ed eseguire azioni appropriate per migliorare le prestazioni visualizzando il flusso di una richiesta. Seguire questa procedura per abilitare la traccia distribuita:
Per iniziare, instrumentare le applicazioni e i servizi per generare dati di traccia. Usare librerie o framework che supportano la traccia distribuita, ad esempio OpenTelemetry.
Assicurarsi che le informazioni di traccia vengano propagate attraverso i limiti del servizio. In genere è consigliabile passare un ID di traccia univoco e altre informazioni contestuali con ogni richiesta.
Configurare un sistema di raccolta di tracce centralizzato. Questo sistema raccoglie e archivia i dati di traccia generati dalle applicazioni e dai servizi.
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 applicazioni. La registrazione consente di comprendere come viene eseguita l'applicazione in vari ambienti. I log 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 di correlazione deve correlare gli eventi del log applicazioni tra 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 velocizza 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 dati sulle prestazioni delle risorse
Raccogliendo i 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, che è fondamentale 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. Prendi in considerazione le seguenti raccomandazioni:
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 metriche a una posizione a cui il team del carico di lavoro può accedere durante la creazione 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 Informazioni dettagliate su Monitoraggio di Azure. 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 consente di 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 archiviazione e database
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 sulle prestazioni di database e archiviazione in modo da 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 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 per quanto tempo durano le operazioni di archiviazione. I dati di latenza indicano la velocità di risposta del sistema di archiviazione.
IOPS (operazioni di I/O al secondo): dati relativi al numero di operazioni di lettura o scrittura che il sistema di archiviazione può eseguire in un secondo. I dati di IOPS indicano la velocità effettiva e la velocità di risposta del sistema di archiviazione.
Uso 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 le 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 frammentazione dell'indice, statistiche di utilizzo e 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. Un numero elevato di errori può indicare problemi di rete o potrebbe indicare che il database ha raggiunto il numero massimo di connessioni.
Frequenza delle transazioni: numero di transazioni eseguite da un database al secondo. Una modifica delle tariffe delle transazioni può indicare problemi di prestazioni.
Frequenza di errore: dati che indicano le prestazioni di un database. Una frequenza di errore elevata potrebbe indicare un problema di prestazioni. Raccogliere e analizzare gli errori del database.
Raccogliere i dati del sistema operativo
Una soluzione PaaS (Platform as a Service) elimina la necessità di raccogliere dati sulle prestazioni del sistema operativo. Tuttavia, se il carico di lavoro viene eseguito in macchine virtuali (infrastruttura distribuita come servizio), è necessario raccogliere i 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 più frequenti. Ad esempio, è possibile campionare i contatori delle prestazioni ogni minuto.
Raccogliere almeno i dati sulle aree di prestazioni seguenti.
Area prestazioni | Processo o funzione |
---|---|
CPU | - Utilizzo della CPU (modalità utente o modalità con privilegi) - Lunghezza coda CPU (numero di processi in attesa di tempo CPU) |
Processo | - Numero di thread di processo - Conteggio handle processo |
Memoria | - Memoria di cui è stato eseguito il commit - Memoria disponibile - Pagine al secondo - Uso 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 agli obiettivi di prestazioni. I dati devono rappresentare completamente e accuratamente le prestazioni del carico di lavoro o del flusso in relazione agli obiettivi di prestazioni. Ad esempio, il tempo di risposta per un servizio Web ha un obiettivo di prestazioni di 500 ms. Rendere una routine per analizzare i dati, in quanto le valutazioni frequenti consentono il rilevamento anticipato e la mitigazione dei problemi di prestazioni.
Creare avvisi. È utile avere avvisi interattivi, consentendo l'identificazione della richiesta e la correzione dei problemi di prestazioni. Questi avvisi devono indicare chiaramente la soglia di prestazioni violata, il potenziale effetto aziendale e i componenti coinvolti. Per iniziare, impostare un avviso comune e consigliato. Nel corso del tempo, è possibile modificare questi criteri in base alle esigenze specifiche. L'obiettivo principale di questi avvisi deve essere quello di prevedere potenziali cali di prestazioni prima che vengano inoltrati a problemi significativi. Se non è possibile impostare un avviso per una dipendenza esterna, valutare la possibilità di creare 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 per il volume di dati raccolti e la 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 disporre di un sistema efficiente per estrarre informazioni dettagliate 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 un'unica piattaforma dati per l'utilizzo da parte di un set comune di strumenti in grado di correlare, analizzare, visualizzare e/o rispondere ai dati.
Per abilitare i log di Monitoraggio di Azure, è necessaria almeno un'area di lavoro Log Analytics. È 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 anche 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 frequenza delle richieste, tempi di risposta e dettagli sulle eccezioni. È possibile abilitare Application Insights per l'applicazione e configurarlo per raccogliere i dati sulle 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 eventi provenienti da diversi componenti o livelli dell'applicazione.
I contatori delle prestazioni sono un modo efficace per monitorare le prestazioni dell'applicazione. Azure offre vari 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 sui contatori 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 di database e archiviazione: Monitoraggio di Azure consente di raccogliere dati sulle prestazioni per i database in Azure. È possibile abilitare il monitoraggio per database SQL di Azure, 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 uso della CPU, uso della memoria e prestazioni delle query. Per ricevere una notifica dei problemi, è possibile configurare gli avvisi in base alle soglie delle 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 di statistiche di attesa e la raccolta dei dati sulle prestazioni durante le ore di punta.
Archiviazione di Azure Analytics 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'invio di avvisi.
Convalida e analisi dei dati sulle prestazioni: in Monitoraggio di Azure è possibile usare i log di Monitoraggio di Azure per raccogliere, analizzare e visualizzare i dati di 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 sugli eventi e ottenere informazioni dettagliate sulle prestazioni dell'applicazione. Per altre informazioni, vedere Calcoli dei costi e opzioni dei log di Monitoraggio di Azure e Prezzi per Monitoraggio di Azure.
In Monitoraggio di Azure è possibile definire regole di avviso per monitorare metriche delle prestazioni specifiche e attivare avvisi in base a 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.
Esempi
- Applicazione Web dei servizi app con ridondanza della zona a disponibilità elevata di base
- Monitorare un'applicazione di microservizi in servizio Azure Kubernetes (servizio Azure Kubernetes)
- Monitoraggio aziendale con il servizio Monitoraggio di Azure
Collegamenti correlati
Elenco di controllo dell'efficienza delle prestazioni
Fare riferimento al set completo di raccomandazioni.