Rilevare e mitigare potenziali problemi usando AIOps e Machine Learning in Monitoraggio di Azure
L'intelligenza artificiale per le operazioni IT (AIOps) offre modi efficaci 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à 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 e funzioni di Machine Learning del Linguaggio di query Kusto (KQL) | 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 in 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 della mappa delle applicazioni | Esegue il mapping delle dipendenze tra i 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 | Apprende 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 l'analisi delle serie temporali predefinite e funzioni di Machine Learning, operatori e plug-in del Linguaggio di query Kusto per ottenere informazioni dettagliate sull'integrità dei servizi, sull'utilizzo, sulla capacità e altre tendenze e per 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 rimanda 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 AIOps |
Vantaggi | 🔹Introduzione rapida. 🔹Non sono necessarie competenze di data science né capacità di 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 | Il portale di Azure o i limiti di query di log dell'API di query in base al fatto che si usi il portale o l'API, ad esempio, da un notebook. | 🔹Limiti di query di log dell'API di query 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 l'esecuzione con Log Analytics nel portale di Azure o da un Jupyter Notebook 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 Esplora dati di Azure, in esecuzione su larga scala in modo distribuito. | Introduce una quantità di latenza di dimensioni ridotte durante l'esecuzione di query o durante 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 dei costi 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 | Analisi dei 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 in base ai 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 i dati nei log di Monitoraggio di Azure disponibili per la pipeline di Machine Learning:
Eseguire query sui dati nei log di Monitoraggio di Azure - Integrare un notebook con i log di Monitoraggio di Azure oppure eseguire uno script o un'applicazione sui dati di log usando librerie come la libreria client di query di Monitoraggio di Azure o MSTICPY per recuperare i dati dai log di Monitoraggio di Azure in formato tabulare, ad esempio in un DataFrame Pandas. I dati di cui si esegue la query vengono recuperati in un oggetto in memoria nel server, senza esportare i dati dall'area di lavoro Log Analytics.
Nota
Potrebbe essere necessario convertire i formati di dati come parte della pipeline. Ad esempio, per usare librerie basate su Apache Spark, come SynapseML, potrebbe essere necessario convertire Pandas in PySpark DataFrame.
Esportare i dati dai log di Monitoraggio di Azure - Esportare i dati dall'area di lavoro Log Analytics, in genere in un account di archiviazione BLOB e implementare la pipeline di Machine Learning usando una libreria di Machine Learning.
Questa tabella confronta i vantaggi e le limitazioni degli approcci di recupero dei dati per la pipeline di Machine Learning:
Eseguire query sui dati in 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 | Sì |
Limiti del servizio | Limiti delle query di log dell'API di query e limitazione delle richieste delle query dell'utente. È possibile superare i limiti dell'API di query, in un certo modo, suddividendo le query di dimensioni maggiori in blocchi. | Nessuna 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, di Azure Machine Learning o di altro servizio, se in uso. |
Costo dell'esportazione dei dati e dell'archiviazione esterna. Costo di Azure Synapse Analytics, di Azure Machine Learning o di altro servizio, se in uso. |
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 prevede grandi volumi di dati, e nell'usare l'approccio di esecuzione di query sui dati 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 utilizzabili per implementare la pipeline di Machine Learning, tra cui Scikit Learn, PyTorch, Tensorflow, Spark MLlibe 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 in base ai dati nei log di Monitoraggio di Azure:
Procedi | Descrizione | Eseguire query sui dati in 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 esplorare e visualizzare i dati nel portale di Azure. È possibile anche 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, progettano le funzionalità mettendo alla prova 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 volta a ottenere delle 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 regolarmente il training del modello sui dati correnti. | Pianificare la pipeline di Machine Learning con Azure Synapse Analytics o Azure Machine Learning. | Vedere gli esempi nella colonna Esegui query sui dati nei 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: