Detecte e atenue possíveis problemas usando AIOps e aprendizado de máquina no Azure Monitor
A AIOps (Inteligência Artificial para Operações de TI) oferece maneiras avançadas de melhorar a qualidade e a confiabilidade do serviço usando o aprendizado de máquina para processar e agir automaticamente nos dados coletados de aplicativos, serviços e recursos de TI no Azure Monitor.
Os recursos internos do AIOps do Azure Monitor fornecem insights e ajudam a solucionar problemas e automatizar tarefas controladas por dados, como prever o uso da capacidade e dimensionamento automático, identificar e analisar problemas de desempenho do aplicativo e detectar comportamentos anômalos em máquinas virtuais, contêineres e outros recursos. Esses recursos aumentam o monitoramento e as operações de TI, sem exigir conhecimento de aprendizado de máquina e mais investimentos.
O Azure Monitor também fornece ferramentas que permitem criar seu próprio pipeline de aprendizado de máquina para introduzir novos recursos de análise e resposta e agir sobre dados nos Logs do Azure Monitor.
Este artigo descreve os recursos internos de AIOps do Azure Monitor e explica como você pode criar e executar modelos personalizados de aprendizado de máquina e criar um pipeline de aprendizado de máquina automatizado em dados nos Logs do Azure Monitor.
Recursos internos de AIOps e aprendizado de máquina do Azure Monitor
Cenários de monitoramento | Funcionalidade | Descrição |
---|---|---|
Monitoramento de log | Insights do Workspace do Log Analytics | Fornece uma exibição unificada dos workspaces do Log Analytics e usa o aprendizado de máquina para detectar anomalias de ingestão. |
Análise de série temporal interna da Linguagem de Consulta Kusto (KQL) e as funções de aprendizado de máquina | Ferramentas fáceis de usar para gerar dados de série temporal, detectar anomalias, prever e executar a análise de causa raiz diretamente nos Logs do Azure Monitor sem exigir conhecimento aprofundado de ciência de dados e linguagens de programação. | |
Microsoft Copilot no Azure | Ajuda você a usar o Log Analytics para analisar dados e solucionar problemas. Gera consultas KQL de exemplo com base em prompts, como "Há erros nos logs de contêiner?". | |
Monitoramento de desempenho de aplicativos | Exibição Inteligente do Mapa do Aplicativo | Mapeia as dependências entre os serviços e ajuda você a identificar gargalos de desempenho ou pontos de acesso com falha em todos os componentes dos seus aplicativos distribuídos. |
Detecção inteligente | Analisa a telemetria que seu aplicativo envia ao Application Insights, alerta sobre problemas de desempenho e anomalias de falha e identifica possíveis causas raiz de problemas de desempenho do aplicativo. | |
Alertas de métricas | Limites dinâmicos para alertas de métrica | Aprende padrões de métricas, define automaticamente limites de alerta com base em dados históricos e identifica anomalias que podem indicar problemas de serviço. |
conjuntos de escala de máquina virtual | Dimensionamento automático preditivo | Prevê os requisitos gerais de CPU de um conjunto de dimensionamento de máquinas virtuais, com base em padrões históricos de uso da CPU, e é dimensionado automaticamente para atender a essas necessidades. |
Aprendizado de máquina nos Logs do Azure Monitor
Use a análise de série temporal interna da Linguagem de Consulta Kusto (KQL) e as funções de aprendizado de máquina, operadores e plug-ins para obter insights sobre integridade do serviço, uso, capacidade e outras tendências e para gerar previsões e detectar anomalias nos Logs do Azure Monitor.
Para obter maior flexibilidade e expandir sua capacidade de analisar e agir sobre dados, você também pode implementar seu próprio pipeline de aprendizado de máquina em dados nos Logs do Azure Monitor.
Esta tabela compara as vantagens e limitações de usar os recursos internos de aprendizado de máquina da KQL e criar seu próprio pipeline de aprendizado de máquina e links para tutoriais que demonstram como você pode implementar cada um:
Funcionalidades internas de aprendizado de máquina do KQL | Criar seu próprio pipeline de aprendizado de máquina | |
---|---|---|
Cenário | ✅ Detecção de anomalias, causa raiz e análise de série temporal |
✅ Detecção de anomalias, causa raiz e análise de série temporal ✅Cenários avançados de análise e AIOPs |
Vantagens | 🔹Faz você começar muito rapidamente. 🔹Não são necessárias habilidades de conhecimento e programação de ciência de dados. 🔹 Desempenho ideal e economia de custos. |
🔹Dá suporte a escalas maiores. 🔹Habilita cenários avançados e mais complexos. 🔹Flexibilidade na escolha de bibliotecas, modelos, parâmetros. |
Limites de serviço e volumes de dados | Portal do Azure ou Limites de consulta de log da API de Consulta, dependendo se você está trabalhando no portal ou usando a API, por exemplo, de um notebook. | 🔹Consulte os limites de consulta de log da API se você consultar dados nos Logs do Azure Monitor como parte do pipeline de aprendizado de máquina. Caso contrário, nenhum limite de serviço do Azure. 🔹Pode dar suporte a volumes de dados maiores. |
Integração | Nenhuma necessária. Execute usando o Log Analytics no portal do Azure ou em um Jupyter Notebook integrado. | Requer integração com uma ferramenta, como Jupyter Notebook. Normalmente, você também se integraria a outros serviços do Azure, como Azure Synapse Analytics. |
Desempenho | Desempenho ideal, usando a plataforma Data Explorer do Azure, em execução em altas escalas de maneira distribuída. | Apresenta uma pequena quantidade de latência ao consultar ou exportar dados, dependendo de como você implementa seu pipeline de aprendizado de máquina. |
Tipo de modelo | Modelo de regressão linear e outros modelos compatíveis com funções de série temporal KQL com um conjunto de parâmetros configuráveis. | Modelo de aprendizado de máquina completamente personalizável ou método de detecção de anomalias. |
Custo | Sem custo adicional. | Dependendo de como você implementa seu pipeline de aprendizado de máquina, você pode incorrer em encargos para exportar dados, ingerir dados pontuados nos Logs do Azure Monitor e o uso de outros serviços do Azure. |
Tutorial | Detectar e analisar anomalias usando os recursos de aprendizado de máquina da KQL no Azure Monitor | Analisar dados nos logs do Azure Monitor usando um notebook |
Criar seu próprio pipeline de aprendizado de máquina em dados nos Logs do Azure Monitor
Crie seu próprio pipeline de aprendizado de máquina em dados nos Logs do Azure Monitor para introduzir novos recursos do AIOps e dar suporte a cenários avançados, como:
- Busca de ataques de segurança com modelos mais sofisticados do que os da KQL.
- Detecção de problemas de desempenho e solução de problemas em um aplicativo Web.
- Criação de fluxos de várias etapas, executando código em cada etapa com base nos resultados da etapa anterior.
- Automatização da análise dos dados do Log do Azure Monitor e fornecimento de insights sobre várias áreas, incluindo integridade da infraestrutura e comportamento do cliente.
- Correlação de dados nos Logs do Azure Monitor com dados de outras fontes.
Há duas abordagens para disponibilizar dados nos Logs do Azure Monitor para o pipeline de aprendizado de máquina:
Consultar dados nos Logs do Azure Monitor - Integre um notebook aos Logs do Azure Monitor ou execute um script ou aplicativo em dados de log usando bibliotecas como a biblioteca de clientes de Consulta do Azure Monitor ou o MSTICPY para recuperar dados dos Logs do Azure Monitor em formato tabular; por exemplo, em um DataFrame do Pandas. Os dados que você consulta são recuperados para um objeto na memória no servidor, sem exportar os dados do workspace do Log Analytics.
Observação
Talvez seja necessário converter formatos de dados como parte do pipeline. Por exemplo, para usar bibliotecas criadas sobre o Apache Spark, como SynapseML, talvez seja necessário converter o Pandas em PySpark DataFrame.
Exportar dados de logs do Azure Monitor - Exporte dados do workspace do Log Analytics, geralmente para uma conta de armazenamento de blobs, e implemente seu pipeline de aprendizado de máquina usando uma biblioteca de aprendizado de máquina.
Esta tabela compara as vantagens e limitações das abordagens para recuperar dados para o pipeline de aprendizado de máquina:
Consultar dados nos Logs do Azure Monitor | Exportar dados | |
---|---|---|
Vantagens | 🔹Faz com que você comece rapidamente. 🔹Requer apenas habilidades básicas de ciência de dados e programação. 🔹Latência mínima e economia de custos. |
🔹Dá suporte a escalas maiores. 🔹 Sem limitações da consulta. |
Dados Exportados? | Não | Sim |
Limites de serviço | Limites de consulta de log de API de consulta e limitação de consulta do usuário. Você pode superar os limites da API de Consulta para, em um certo grau, dividindo consultas maiores em partes. | Nenhum do Azure Monitor. |
Volumes de dados | Analise vários GBs de dados ou alguns milhões de registros por hora. | Dá suporte a grandes volumes de dados. |
Biblioteca de aprendizado de máquina | Para conjuntos de dados de pequeno a médio porte, você normalmente usaria bibliotecas de aprendizado de máquina de nó único, como o Scikit Learn. | Para grandes conjuntos de dados, você normalmente usaria bibliotecas de machine learning de Big Data, como SynapseML. |
Latência | Mínimo. | Apresenta uma pequena quantidade de latência na exportação de dados. |
Custo | Não há encargos adicionais no Azure Monitor. Custo do Azure Synapse Analytics, do Azure Machine Learning ou de outro serviço, se usado. |
Custo de exportação de dados e armazenamento externo. Custo do Azure Synapse Analytics, do Azure Machine Learning ou de outro serviço, se usado. |
Dica
Para se beneficiar da melhor das duas abordagens de implementação, crie um pipeline híbrido. Uma abordagem híbrida comum é exportar dados para treinamento de modelo, que envolve grandes volumes de dados, e usar os dados de consulta na abordagem de Logs do Azure Monitor para explorar dados e pontuar novos dados para reduzir a latência e os custos.
Implementar as etapas do ciclo de vida de aprendizado de máquina nos Logs do Azure Monitor
A configuração de um pipeline de aprendizado de máquina normalmente envolve todas ou algumas das etapas descritas abaixo.
Há várias bibliotecas de aprendizado de máquina do Azure e de código aberto que você pode usar para implementar seu pipeline de aprendizado de máquina, incluindo Scikit Learn, PyTorch, Tensorflow, Spark MLlib e SynapseML.
Esta tabela descreve cada etapa e fornece diretrizes de alto nível e alguns exemplos de como implementar essas etapas com base nas abordagens de implementação descritas em Criar seu próprio pipeline de aprendizado de máquina sobre dados nos Logs do Azure Monitor:
Etapa | Descrição | Consultar dados nos Logs do Azure Monitor | Exportar dados |
---|---|---|---|
Explorar dados | Examine e entenda os dados coletados. | A maneira mais simples de explorar seus dados é usando o Log Analytics, que fornece um conjunto avançado de ferramentas para explorar e visualizar dados no portal do Azure. Também é possível Analisar dados nos Logs do Azure Monitor usando um notebook. | Para analisar logs fora do Azure Monitor, exporte dados do workspace do Log Analytics e configure o ambiente no serviço escolhido. Para obter um exemplo de como explorar logs fora do Azure Monitor, consulte Analisar dados exportados do Log Analytics usando o Synapse. |
Criar e treinar um modelo de machine learning | O treinamento de modelo é um processo iterativo. Pesquisadores ou cientistas de dados desenvolvem um modelo buscando e limpando os dados de treinamento, recursos de engenharia, experimentando vários modelos e parâmetros de ajuste e repetindo esse ciclo até que o modelo seja preciso e robusto. | Para conjuntos de dados de pequeno a médio porte, você normalmente usa bibliotecas de aprendizado de máquina de nó único, como o Scikit Learn. Para obter um exemplo de como treinar um modelo de machine learning sobre dados nos Logs do Azure Monitor usando a biblioteca do Scikit Learn, consulte este notebook de exemplo : Detectar anomalias nos Logs do Azure Monitor usando técnicas de aprendizado de máquina. |
Para grandes conjuntos de dados, você normalmente usa bibliotecas de aprendizado de máquina de Big Data, como SynapseML. |
Implantar e pontuar um modelo | A pontuação é o processo de aplicação de um modelo de aprendizado de máquina em novos dados para obter previsões. A pontuação geralmente precisa ser feita em escala com latência mínima. | Para consultar novos dados nos Logs do Azure Monitor, use a biblioteca de clientes de Consulta do Azure Monitor. Para obter um exemplo de como pontuar dados usando código aberto ferramentas, consulte este notebook de exemplo: detectar anomalias nos Logs do Azure Monitor usando técnicas de aprendizado de máquina. |
|
Executar seu pipeline no agendamento | Automatize seu pipeline para treinar novamente seu modelo regularmente nos dados atuais. | Agende seu pipeline de machine learning com o Azure Synapse Analytics ou o Azure Machine Learning. | Consulte os exemplos na coluna Consultar dados nos Logs do Azure Monitor . |
A ingestão de resultados pontuados em um workspace do Log Analytics permite que você use os dados para obter insights avançados e criar alertas e painéis. Para obter um exemplo de como ingerir resultados pontuados usando a biblioteca de clientes de Ingestão do Azure Monitor, consulte Ingerir anomalias em uma tabela personalizada no workspace do Log Analytics.
Próximas etapas
Saiba mais sobre: