Rilevare e mitigare potenziali problemi usando AIOps e Machine Learning in Monitoraggio di Azure

L'intelligenza artificiale per le operazioni IT (AIOps) offre potenti modi per migliorare la qualità e l'affidabilità dei servizi usando Machine Learning per elaborare e agire automaticamente sui dati raccolti da applicazioni, servizi e risorse IT in Monitoraggio di Azure.

Le funzionalità predefinite di AIOps di Monitoraggio di Azure forniscono informazioni dettagliate e consentono di risolvere i problemi e automatizzare le attività guidate dai dati, ad esempio la stima dell'utilizzo della capacità e la scalabilità automatica, l'identificazione e l'analisi dei problemi di prestazioni dell'applicazione e il rilevamento di comportamenti anomali nelle macchine virtuali, nei contenitori e in altre risorse. Queste funzionalità migliorano il monitoraggio e le operazioni IT, senza richiedere conoscenze di Machine Learning e ulteriori investimenti.

Monitoraggio di Azure offre anche strumenti che consentono di creare una pipeline di Machine Learning personalizzata per introdurre nuove funzionalità di analisi e risposta e agire sui dati nei log di Monitoraggio di Azure.

Questo articolo descrive le funzionalità predefinite di AIOps di Monitoraggio di Azure e spiega come creare ed eseguire modelli di Machine Learning personalizzati e creare una pipeline di Machine Learning automatizzata sui dati nei log di Monitoraggio di Azure.

Funzionalità predefinite di AiOps e Machine Learning di Monitoraggio di Azure

Scenario di monitoraggio Funzionalità Descrizione
Monitoraggio dei log Log Analytics Workspace Insights Fornisce una visualizzazione unificata delle aree di lavoro Log Analytics e usa l'apprendimento automatico per rilevare le anomalie di inserimento.
Analisi delle serie temporali di Linguaggio di query Kusto (KQL) e funzioni di Machine Learning Strumenti facili da usare per generare dati di serie temporali, rilevare anomalie, previsioni ed eseguire l'analisi della causa radice direttamente nei log di Monitoraggio di Azure senza richiedere una conoscenza approfondita dei linguaggi di data science e di programmazione.
Microsoft Copilot per Azure Consente di usare Log Analytics per analizzare i dati e risolvere i problemi. Genera query KQL di esempio basate su prompt, ad esempio "Sono presenti errori nei log del contenitore?".
Monitoraggio delle prestazioni delle applicazioni Visualizzazione intelligente mappa delle applicazioni Mappe dipendenze tra servizi e consente di individuare colli di bottiglia delle prestazioni o hotspot di errore in tutti i componenti dell'applicazione distribuita.
Rilevamento intelligente Analizza i dati di telemetria inviati dall'applicazione ad Application Insights, avvisi relativi a problemi di prestazioni e anomalie degli errori e identifica le potenziali cause radice dei problemi di prestazioni dell'applicazione.
Avvisi delle metriche Soglie dinamiche per gli avvisi delle metriche Informazioni sui modelli di metriche, imposta automaticamente le soglie di avviso in base ai dati cronologici e identifica le anomalie che potrebbero indicare problemi di servizio.
set di scalabilità di macchine virtuali Scalabilità automatica predittiva Prevede i requisiti complessivi della CPU di un set di scalabilità di macchine virtuali, in base ai modelli di utilizzo cronologici della CPU e aumenta automaticamente il numero di istanze per soddisfare queste esigenze.

Machine Learning nei log di Monitoraggio di Azure

Usare le funzioni, gli operatori e i plug-in predefiniti della serie temporale di Linguaggio di query Kusto per ottenere informazioni dettagliate sull'integrità dei servizi, l'utilizzo, la capacità e altre tendenze e generare previsioni e rilevare anomalie nei log di Monitoraggio di Azure.

Per ottenere maggiore flessibilità ed espandere la possibilità di analizzare e agire sui dati, è anche possibile implementare la propria pipeline di Machine Learning sui dati nei log di Monitoraggio di Azure.

Questa tabella confronta i vantaggi e le limitazioni dell'uso delle funzionalità di Machine Learning predefinite di KQL e della creazione di una pipeline di Machine Learning personalizzata e collegamenti a esercitazioni che illustrano come implementare ognuna di esse:

Funzionalità di Machine Learning KQL predefinite Creare una pipeline di Machine Learning personalizzata
Scenario ✅ Rilevamento anomalie, causa radice e analisi delle serie temporali
✅ Rilevamento anomalie, causa radice e analisi delle serie temporali
Scenari avanzati di analisi e intelligenza artificiale
Vantaggi 🔹Si inizia molto rapidamente.
🔹Non sono necessarie competenze di data science e programmazione.
🔹 Prestazioni ottimali e risparmi sui costi.
🔹Supporta scalabilità più grandi.
🔹Abilita scenari avanzati e più complessi.
🔹Flessibilità nella scelta di librerie, modelli, parametri.
Limiti del servizio e volumi di dati portale di Azure o i limiti delle query di log dell'API di query a seconda che si stia lavorando nel portale o che si usi l'API, ad esempio da un notebook. 🔹Le query sui log dell'API di query limitano se si eseguono query sui dati nei log di Monitoraggio di Azure come parte della pipeline di Machine Learning. In caso contrario, nessun limite del servizio di Azure.
🔹Può supportare volumi di dati di dimensioni maggiori.
Integrazione Non necessari. Eseguire con Log Analytics nel portale di Azure o da un notebook di Jupyter integrato. Richiede l'integrazione con uno strumento, ad esempio Jupyter Notebook. In genere, è anche possibile integrarsi con altri servizi di Azure, ad esempio Azure Synapse Analytics.
Prestazioni Prestazioni ottimali, usando la piattaforma azure Esplora dati, in esecuzione su larga scala in modo distribuito. Introduce una piccola quantità di latenza durante l'esecuzione di query o l'esportazione di dati, a seconda del modo in cui si implementa la pipeline di Machine Learning.
Tipo di modello Modello di regressione lineare e altri modelli supportati dalle funzioni serie temporali KQL con un set di parametri configurabili. Modello di Machine Learning completamente personalizzabile o metodo di rilevamento anomalie.
Costii Nessun costo aggiuntivo. A seconda del modo in cui si implementa la pipeline di Machine Learning, è possibile che vengano addebitati addebiti per l'esportazione dei dati, l'inserimento di dati con punteggio nei log di Monitoraggio di Azure e l'uso di altri servizi di Azure.
Esercitazione Rilevare e analizzare le anomalie usando le funzionalità di Machine Learning KQL in Monitoraggio di Azure Analizzare i dati nei log di Monitoraggio di Azure usando un notebook

Creare una propria pipeline di Machine Learning sui dati nei log di Monitoraggio di Azure

Creare una propria pipeline di Machine Learning sui dati nei log di Monitoraggio di Azure per introdurre nuove funzionalità aiops e supportare scenari avanzati, ad esempio:

  • Ricerca di attacchi alla sicurezza con modelli più sofisticati rispetto a quelli di KQL.
  • Rilevamento di problemi di prestazioni e risoluzione degli errori in un'applicazione Web.
  • Creazione di flussi in più passaggi, esecuzione del codice in ogni passaggio in base ai risultati del passaggio precedente.
  • Automazione dell'analisi dei dati dei log di Monitoraggio di Azure e informazioni dettagliate su più aree, tra cui l'integrità dell'infrastruttura e il comportamento dei clienti.
  • Correlazione dei dati nei log di Monitoraggio di Azure con i dati di altre origini.

Esistono due approcci per rendere disponibili i dati nei log di Monitoraggio di Azure per la pipeline di Machine Learning:

Questa tabella confronta i vantaggi e le limitazioni degli approcci al recupero dei dati per la pipeline di Machine Learning:

Eseguire query sui dati nei log di Monitoraggio di Azure Esportare dati
Vantaggi 🔹Ottiene l'avvio rapido.
🔹Richiede solo competenze di base di data science e programmazione.
🔹Latenza minima e risparmio sui costi.
🔹Supporta scalabilità più grandi.
🔹Nessuna limitazione delle query.
Dati esportati? No
Limiti del servizio Limiti delle query di log dell'API di query e limitazione delle query dell'utente. È possibile superare i limiti dell'API query, in un certo modo, suddividendo le query di dimensioni maggiori in blocchi. Nessuno da Monitoraggio di Azure.
Volumi di dati Analizzare diversi GB di dati o alcuni milioni di record all'ora. Supporta grandi volumi di dati.
Libreria di Machine Learning Per i set di dati di piccole e medie dimensioni, in genere si usano librerie di Machine Learning a nodo singolo, ad esempio Scikit Learn. Per set di dati di grandi dimensioni, in genere si usano librerie di Machine Learning per Big Data, ad esempio SynapseML.
Latenza Minima. Introduce una piccola quantità di latenza nell'esportazione dei dati.
Costii Nessun costo aggiuntivo in Monitoraggio di Azure.
Costo di Azure Synapse Analytics, Azure Machine Learning o altro servizio, se usato.
Costo dell'esportazione dei dati e dell'archiviazione esterna.
Costo di Azure Synapse Analytics, Azure Machine Learning o altro servizio, se usato.

Suggerimento

Per trarre vantaggio dai migliori approcci di implementazione, creare una pipeline ibrida. Un approccio ibrido comune consiste nell'esportare i dati per il training del modello, che comporta grandi volumi di dati e usare l'approccio ai dati di query nei log di Monitoraggio di Azure per esplorare i dati e assegnare un punteggio ai nuovi dati per ridurre la latenza e i costi.

Implementare i passaggi del ciclo di vita di Machine Learning nei log di Monitoraggio di Azure

La configurazione di una pipeline di Machine Learning prevede in genere tutti o alcuni dei passaggi descritti di seguito.

Sono disponibili varie librerie di Machine Learning open source e di Azure che è possibile usare per implementare la pipeline di Machine Learning, tra cui Scikit Learn, PyTorch, Tensorflow, Spark MLlib e SynapseML.

Questa tabella descrive ogni passaggio e fornisce indicazioni generali e alcuni esempi di come implementare questi passaggi in base agli approcci di implementazione descritti in Creare una pipeline di Machine Learning personalizzata sui dati nei log di Monitoraggio di Azure:

Procedi Descrizione Eseguire query sui dati nei log di Monitoraggio di Azure Esportare dati
Esplorazione dei dati Esaminare e comprendere i dati raccolti. Il modo più semplice per esplorare i dati consiste nell'usare Log Analytics, che offre un set completo di strumenti per l'esplorazione e la visualizzazione dei dati nella portale di Azure. È anche possibile analizzare i dati nei log di Monitoraggio di Azure usando un notebook. Per analizzare i log all'esterno di Monitoraggio di Azure, esportare i dati dall'area di lavoro Log Analytics e configurare l'ambiente nel servizio scelto.
Per un esempio di come esplorare i log all'esterno di Monitoraggio di Azure, vedere Analizzare i dati esportati da Log Analytics usando Synapse.
Creare ed eseguire il training di un modello di Machine Learning Il training del modello è un processo iterativo. Ricercatori o data scientist sviluppano un modello recuperando e pulendo i dati di training, le caratteristiche del tecnico, provando vari modelli e parametri di ottimizzazione e ripetendo questo ciclo fino a quando il modello non è accurato e affidabile. Per i set di dati di piccole e medie dimensioni, in genere si usano librerie di Machine Learning a nodo singolo, ad esempio Scikit Learn.
Per un esempio di come eseguire il training di un modello di Machine Learning sui dati nei log di Monitoraggio di Azure usando la libreria Scikit Learn, vedere questo notebook di esempio: Rilevare le anomalie nei log di Monitoraggio di Azure usando tecniche di Machine Learning.
Per set di dati di grandi dimensioni, in genere si usano librerie di Machine Learning per Big Data, ad esempio SynapseML.
Distribuire e assegnare un punteggio a un modello L'assegnazione dei punteggi è il processo di applicazione di un modello di Machine Learning ai nuovi dati per ottenere stime. L'assegnazione dei punteggi deve in genere essere eseguita su larga scala con una latenza minima. Per eseguire query sui nuovi dati nei log di Monitoraggio di Azure, usare la libreria client di query di Monitoraggio di Azure.
Per un esempio di come assegnare punteggi ai dati usando strumenti open source, vedere questo notebook di esempio: Rilevare le anomalie nei log di Monitoraggio di Azure usando tecniche di Machine Learning.
Eseguire la pipeline in base alla pianificazione Automatizzare la pipeline per ripetere il training del modello regolarmente sui dati correnti. Pianificare la pipeline di Machine Learning con Azure Synapse Analytics o Azure Machine Learning. Vedere gli esempi nella colonna Query data in Azure Monitor Logs (Log di Monitoraggio di Azure).

L'inserimento di risultati con punteggio in un'area di lavoro Log Analytics consente di usare i dati per ottenere informazioni dettagliate avanzate e per creare avvisi e dashboard. Per un esempio di come inserire risultati con punteggio usando la libreria client di inserimento di Monitoraggio di Azure, vedere Inserire anomalie in una tabella personalizzata nell'area di lavoro Log Analytics.

Passaggi successivi

Altre informazioni su: