Partilhar via


Detetar e mitigar possíveis problemas usando AIOps e aprendizado de máquina no Azure Monitor

A Inteligência Artificial para Operações de TI (AIOps) oferece maneiras poderosas de melhorar a qualidade e a confiabilidade do serviço usando o aprendizado de máquina para processar e agir automaticamente sobre os dados coletados de aplicativos, serviços e recursos de TI no Azure Monitor.

Os recursos AIOps internos do Azure Monitor fornecem informações e ajudam você a solucionar problemas e automatizar tarefas orientadas por dados, como prever o uso da capacidade e o dimensionamento automático, identificar e analisar problemas de desempenho de aplicativos e detetar comportamentos anômalos em máquinas virtuais, contêineres e outros recursos. Esses recursos impulsionam seu monitoramento e operações de TI, sem exigir conhecimento de aprendizado de máquina e mais investimento.

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 AIOps internos do Azure Monitor e explica como você pode criar e executar modelos de aprendizado de máquina personalizados 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ário de monitoramento Capacidade Description
Monitoramento de logs Informações da Área de Trabalho do Log Analytics Fornece uma visão unificada de seus espaços de trabalho do Log Analytics e usa aprendizado de máquina para detetar anomalias de ingestão.
Análise de séries temporais e funções de aprendizagem automática Kusto Query Language (KQL) Ferramentas fáceis de usar para gerar dados de séries temporais, detetar anomalias, prever e executar análises de causa raiz diretamente nos Logs do Azure Monitor sem exigir conhecimento profundo 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 em logs de contêiner?".
Monitoramento de desempenho de aplicativos Mapa de Aplicação Vista inteligente Mapeia dependências entre serviços e ajuda a identificar gargalos de desempenho ou pontos críticos de falha em todos os componentes do seu aplicativo distribuído.
Deteçã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 métricos 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 dimensionamento de máquinas virtuais Dimensionamento automático preditivo Prevê os requisitos gerais de CPU de um conjunto de dimensionamento de máquina virtual, com base em padrões históricos de uso da CPU, e dimensiona automaticamente para atender a essas necessidades.

Aprendizado de máquina nos logs do Azure Monitor

Use as funções internas de análise de séries temporais e aprendizado de máquina, operadores e plug-ins da Kusto Query Language para obter informações sobre a integridade do serviço, uso, capacidade e outras tendências, além de gerar previsões e detetar 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 no Azure Monitor Logs.

Esta tabela compara as vantagens e limitações de usar os recursos internos de aprendizado de máquina do KQL e criar seu próprio pipeline de aprendizado de máquina, além de links para tutoriais que demonstram como você pode implementar cada um:

Recursos integrados de aprendizado de máquina KQL Crie seu próprio pipeline de aprendizado de máquina
Cenário ✅ Deteção de anomalias, causa raiz e análise de séries temporais
✅ Deteção de anomalias, causa raiz e análise de séries temporais
Análise avançada e cenários AIOPs
Vantagens 🔹Começa muito rapidamente.
🔹Nenhum conhecimento de ciência de dados e habilidades de programação são necessários.
🔹 Ótimo desempenho e poupança de custos.
🔹Suporta escalas maiores.
🔹Permite cenários avançados e mais complexos.
🔹Flexibilidade na escolha de bibliotecas, modelos, parâmetros.
Limites de serviço e volumes de dados O portal do Azure ou os limites de consulta de log da API de consulta, dependendo se você está trabalhando no portal ou usando a API, por exemplo, de um bloco de anotações. 🔹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 suportar volumes de dados maiores.
Integração Nenhuma necessária. Execute usando o Log Analytics no portal do Azure ou a partir de um Jupyter Notebook integrado. Requer integração com uma ferramenta, como o Jupyter Notebook. Normalmente, você também se integraria a outros serviços do Azure, como o Azure Synapse Analytics.
Desempenho Desempenho ideal, usando a plataforma Azure Data Explorer, executada em altas escalas de forma distribuída. Introduz 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 suportados por funções de séries cronológicas KQL com um conjunto de parâmetros configuráveis. Modelo de aprendizagem automática completamente personalizável ou método de deteção de anomalias.
Custo Sem custo extra. Dependendo de como você implementa seu pipeline de aprendizado de máquina, você pode incorrer em encargos pela exportação de dados, ingestão de dados pontuados nos Logs do Azure Monitor e pelo uso de outros serviços do Azure.
Tutorial Detetar e analisar anomalias usando os recursos de aprendizado de máquina KQL no Azure Monitor Analisar dados nos Logs do Azure Monitor usando um bloco de anotações

Crie 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 de AIOps e dar suporte a cenários avançados, como:

  • Caça a ataques de segurança com modelos mais sofisticados do que os da KQL.
  • Deteção de problemas de desempenho e solução de erros 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.
  • Automatizando a análise dos dados do Log do Azure Monitor e fornecendo informações sobre várias áreas, incluindo a integridade da infraestrutura e o comportamento do cliente.
  • Correlacionar dados nos Logs do Azure Monitor com dados de outras fontes.

Há duas abordagens para disponibilizar dados nos Logs do Azure Monitor para seu pipeline de aprendizado de máquina:

Esta tabela compara as vantagens e limitações das abordagens para recuperar dados para seu pipeline de aprendizado de máquina:

Consultar dados nos Logs do Azure Monitor Exportar Dados
Vantagens 🔹Começa rapidamente.
🔹Requer apenas conhecimentos básicos de ciência de dados e programação.
🔹Latência mínima e economia de custos.
🔹Suporta escalas maiores.
🔹Sem limitações de consulta.
Dados exportados? Não Sim
Limites do serviço Limites de consulta de log da API e limitação de consulta do usuário. Você pode superar os limites da API de consulta para, até certo ponto, dividir 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. Suporta 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 aprendizado de máquina de big data, como SynapseML.
Latência Mínimo. Introduz uma pequena quantidade de latência na exportação de dados.
Custo Sem encargos adicionais no Azure Monitor.
Custo do Azure Synapse Analytics, Azure Machine Learning ou outro serviço, se usado.
Custo de exportação de dados e armazenamento externo.
Custo do Azure Synapse Analytics, Azure Machine Learning ou outro serviço, se usado.

Gorjeta

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 Azure Monitor Logs para explorar dados e pontuar novos dados para reduzir a latência e os custos.

Implementar as etapas do ciclo de vida do 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 orientação 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 em dados nos Logs do Azure Monitor:

Passo Description Consultar dados nos Logs do Azure Monitor Exportar Dados
Explorar dados Examine e compreenda os dados que recolheu. 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. Você também pode analisar dados nos Logs do Azure Monitor usando um bloco de anotações. Para analisar logs fora do Azure Monitor, exporte dados do seu espaço de trabalho 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 Synapse.
Crie e treine um modelo de aprendizado de máquina O treinamento de modelos é um processo iterativo. Pesquisadores ou cientistas de dados desenvolvem um modelo buscando e limpando os dados de treinamento, projetando recursos, experimentando vários modelos e ajustando parâmetros 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 aprendizado de máquina em dados nos Logs do Azure Monitor usando a biblioteca do Scikit Learn, consulte este bloco de anotações de exemplo: Detetar 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 aplicar 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 cliente do Azure Monitor Query.
Para obter um exemplo de como pontuar dados usando ferramentas de código aberto, consulte este bloco de anotações de exemplo: Detetar anomalias nos Logs do Azure Monitor usando técnicas de aprendizado de máquina.
Execute seu pipeline dentro do cronograma Automatize seu pipeline para treinar novamente seu modelo regularmente nos dados atuais. Agende seu pipeline de aprendizado de máquina com o Azure Synapse Analytics ou o Azure Machine Learning. Veja os exemplos na coluna Consultar dados em Logs do Azure Monitor .

A ingestão de resultados pontuados em um espaço de trabalho do Log Analytics permite que você use os dados para obter informações avançadas e criar alertas e painéis. Para obter um exemplo de como ingerir resultados pontuados usando a biblioteca de cliente do Azure Monitor Ingestion, consulte Ingerir anomalias em uma tabela personalizada em seu espaço de trabalho do Log Analytics.

Próximos passos

Saiba mais sobre: