Melhores práticas do Azure Monitor: configurar a coleta de dados
Este artigo faz parte do cenário Recomendações para configurar o Azure Monitor. Ele descreve as etapas recomendadas para configurar a coleta de dados necessária a fim de habilitar recursos do Azure Monitor para seus aplicativos e recursos híbridos e do Azure.
Importante
Os recursos e a configuração do Azure Monitor variam de acordo com o equilíbrio entre seus requisitos de negócios e os custos dos recursos habilitados. Cada uma das etapas a seguir identifica se há custo potencial e você deve avaliar esses custos antes de prosseguir. Confira o preço do Azure Monitor para obter detalhes completos sobre preços.
Criar arquitetura do workspace do Log Analytics
Você precisa de pelo menos um workspace do Log Analytics para habilitar logs do Azure Monitor, que é necessário para:
- Coletar dados, como logs de recursos do Azure.
- Coletar dados do sistema operacional convidado do Máquinas Virtuais do Azure.
- Habilitar a maioria dos insights do Azure Monitor.
Outros serviços, como o Microsoft Azure Sentinel e o Microsoft Defender para Nuvem, também usam um workspace do Log Analytics e podem compartilhar o mesmo usado no Azure Monitor.
Não há nenhum custo para a criação de um workspace do Log Analytics, mas há uma cobrança potencial depois de configurar os dados a serem coletados nele. Confira Detalhes de preço dos Logs do Azure Monitor para saber como os dados de log são cobrados.
Confira Criar um workspace do Log Analytics no portal do Azure para criar um workspace do Log Analytics inicial e Gerenciar acesso aos workspaces do Log Analytics para configurar o acesso. Você pode usar métodos escalonáveis, como modelos do Resource Manager, para configurar espaços de trabalho; no entanto, essa etapa geralmente não é necessária, pois a maioria dos ambientes exigirá um número mínimo.
Comece com um único workspace para dar suporte ao monitoramento inicial. Consulte Criar uma configuração do workspace do Log Analytics para obter diretrizes sobre quando usar vários workspaces e como localizá-los e configurá-los.
Coletar dados de recursos do Azure
Alguns monitoramentos de recursos do Azure estão disponíveis automaticamente sem necessidade de configuração. Para coletar mais dados de monitoramento, você deve executar as etapas de configuração.
A tabela a seguir mostra as etapas de configuração necessárias para coletar todos os dados disponíveis recursos do Azure. Ela também mostra em qual etapa os dados são enviados para as Métricas e Logs do Azure Monitor. As seções a seguir descrevem cada etapa com detalhes adicionais.
Coletar logs de locatário e assinatura
Os logs do Microsoft Entra do seu locatário e o log de atividades da sua assinatura são coletados automaticamente. Ao enviá-los para um workspace do Log Analytics, você pode analisar esses eventos com outros dados de log usando consultas de log no Log Analytics. Você também pode criar alertas de pesquisa de logs, que são a única maneira de alertar sobre os logs do Microsoft Entra e fornecer lógica mais complexa do que alertas de log de atividades.
Não há custo para enviar o log de atividades para um workspace, mas há um custo de ingestão e retenção de dados para logs do Microsoft Entra.
Confira Integrar logs do Microsoft Entra com logs do Azure Monitor e Criar configurações de diagnóstico para enviar logs e métricas de plataforma para destinos diferentes para criar uma configuração de diagnóstico para o seu locatário e assinatura para enviar entradas de log ao seu workspace do Log Analytics.
Coletar logs de recursos e métricas da plataforma
Os recursos no Azure geram automaticamente logs de recursos que fornecem detalhes das operações executadas no recurso. No entanto, ao contrário das métricas de plataforma, você precisa configurar os logs de recursos a serem coletados. Crie uma configuração de diagnóstico para enviá-las a um workspace do Log Analytics e combine-a com os outros dados usados com os logs do Azure Monitor. A mesma configuração de diagnóstico também pode ser usada para enviar as métricas da plataforma para a maioria dos recursos para o mesmo workspace. Dessa forma, você pode analisar dados de métrica usando consultas de log com outros dados coletados.
Há um custo para coletar logs de recursos no workspace do Log Analytics e, portanto, selecione apenas as categorias de log com dados valiosos. A coleta de todas as categorias incorrerá em custos na coleta de dados com pouco valor. Veja a documentação de monitoramento de cada serviço do Azure para obter uma descrição das categorias e recomendações para coleta. Veja também Práticas recomendadas do Azure Monitor – gerenciamento de custos para recomendações sobre como otimizar o custo de sua coleção de logs.
Consulte Criar configuração de diagnóstico para coletar logs e métricas de recursos no Azure para criar uma configuração de diagnóstico para um recurso do Azure.
Como uma configuração de diagnóstico precisa ser criada para cada recurso do Azure, use o Azure Policy para criar automaticamente uma configuração de diagnóstico à medida que cada recurso é criado. Cada tipo de recurso do Azure tem um conjunto exclusivo de categorias que precisam ser listadas na configuração de diagnóstico. Por isso, cada tipo de recurso requer uma definição de política separada. Alguns tipos de recursos têm definições de política integrada que podem ser atribuídas sem modificação. Para outros tipos de recursos, é preciso criar uma definição personalizada.
Confira Criar configurações de diagnóstico em escala usando o Azure Policy para obter um processo de criação de definições de política de determinado serviço do Azure e detalhes sobre a criação de configurações de diagnóstico em escala.
Habilitar o Insights
O Insights oferece uma experiência especializada de monitoramento para determinado serviço. Ele usa os mesmos dados que já estão sendo coletados, por exemplo, métricas de plataforma e logs de recursos, mas fornece pastas de trabalho personalizadas para ajudá-lo a identificar e analisar os dados mais críticos. A maioria das informações fica disponível no portal do Azure sem nenhuma configuração necessária, exceto a coleta dos logs de recursos para esse serviço. Veja a documentação de monitoramento para cada serviço do Azure a fim de determinar se ele tem um insight e se requer configuração.
Não há nenhum custo para insights, mas você pode ser cobrado pelos dados coletados.
Consulte Visão geral dos Insights do Azure Monitor para obter uma lista de insights e soluções disponíveis no Azure Monitor. Consulte a documentação de cada para obter configurações exclusivas ou informações sobre preços.
Importante
As informações a seguir são significativamente mais complexas do que outras e têm diretrizes adicionais de configuração:
Monitorar máquinas virtuais
As máquinas virtuais geram dados semelhantes aos outros recursos do Azure, mas exigem um agente para coletar dados do sistema operacional convidado. As máquinas virtuais também têm requisitos de monitoramento exclusivos devido às diferentes cargas de trabalho em execução nelas. Consulte Monitoramento de máquinas virtuais do Azure com o Azure Monitor para obter um cenário dedicado sobre como monitorar máquinas virtuais com o Azure Monitor.
Monitorar contêineres
Os contêineres geram dados semelhantes aos dos outros recursos do Azure, mas requerem uma versão conteinerizada do agente do Log Analytics para coletar os dados necessários. Os insights de contêiner ajudam você a preparar o ambiente em contêineres para monitoramento. Ele funciona em conjunto com ferramentas de terceiros para fornecer monitoramento abrangente de Serviço de Kubernetes do Azure (AKS) e os fluxos de trabalho que ele dá suporte. Veja Monitorando o Serviço de Kubernetes do Azure com o Azure Monitor para obter um cenário dedicado de monitoramento do AKS com o Azure Monitor.
Monitorar aplicativos
O Azure Monitor monitora os aplicativos personalizados usando o Application Insights, que você deve configurar para cada aplicativo que deseja monitorar. O processo de configuração variará dependendo do tipo de aplicativo que está sendo monitorado e do tipo de monitoramento que você deseja executar. Os dados coletados pelo Application Insights são armazenados nas métricas do Azure Monitor, nos logs do Azure Monitor e no Armazenamento de Blobs do Azure, dependendo do recurso. Os dados de desempenho são armazenados nas Métricas do Azure Monitor e nos Logs do Azure Monitor, sem necessidade de configuração adicional.
Criar um recurso de aplicativo
O Application Insights é o recurso do Azure Monitor que monitora seus aplicativos híbridos e nativos de nuvem.
Você pode criar um recurso no Application Insights para cada aplicativo que você vai monitorar ou um único recurso de aplicativo para vários aplicativos. O uso de recursos de aplicativos separados ou de um único recurso de aplicativo para vários aplicativos é uma decisão fundamental de sua estratégia de monitoramento. Os recursos separados podem economizar custos e evitar a mistura de dados de aplicativos diferentes, mas um recurso único poderá simplificar o monitoramento ao manter toda a telemetria relevante. Veja Quantos recursos do Application Insights devo implantar para obter critérios detalhados sobre como tomar essa decisão de design.
Ao criar o aplicativo, você deve selecionar usar o aplicativo baseado em workspace ou o clássico. Consulte Criar um recurso Application Insights para criar um aplicativo clássico. Confira Recursos Application Insights baseados em workspace para criar um aplicativo baseado em workspace. Os dados de log coletados pelo Application Insights são armazenados nos Logs do Azure Monitor para um aplicativo baseado em workspace. Os dados de log para aplicativos clássicos são armazenados separados do seu workspace do Log Analytics.
Configurar o monitoramento sem código ou baseado em código
Para habilitar o monitoramento de um aplicativo, você deve decidir se usará o monitoramento sem código ou baseado em código. O processo de configuração variará dependendo dessa decisão e do tipo de aplicativo que você vai monitorar.
O monitoramento sem código é mais fácil de implementar e pode ser configurado após o desenvolvimento de código. Ele não requer nenhuma atualização para seu código. Para obter informações sobre como habilitar o monitoramento com base em seu aplicativo, consulte:
- Aplicativos hospedados nos Aplicativos Web do Azure
- Aplicativos Java
- Aplicativos ASP.NET hospedados no IIS nas máquinas virtuais do Azure ou no conjunto de dimensionamento de máquinas virtuais do Azure
- Aplicativos ASP.NET hospedados no IIS local
O monitoramento baseado em código é mais personalizável e coleta telemetria adicional, mas requer a adição de uma dependência ao seu código nos pacotes NuGet Application Insights do SDK. Para obter informações sobre como habilitar o monitoramento com base em seu aplicativo, consulte:
- Aplicativos ASP.NET
- Aplicativos do ASP.NET Core
- Aplicativos de Console .NET
- Java
- Node.js
- Python
- Outras plataformas
Configurar testes de disponibilidade
Os testes de disponibilidade no Application Insights são testes recorrentes que monitoram a disponibilidade e a capacidade de resposta do seu aplicativo em intervalos regulares de pontos em todo o mundo. Você pode criar um teste de ping simples gratuitamente. Você pode criar uma sequência de solicitações da Web para simular transações de usuário que têm custo associado.
Confira Monitorar a disponibilidade de qualquer site para obter um resumo dos diferentes testes e detalhes sobre como criá-los.
Configurar o Application Insights Profiler para .NET
O .NET Profiler fornece rastreamentos de desempenho para aplicativos .NET. Ele ajuda a identificar o caminho de código "quente" que leva mais tempo ao manipular uma determinada solicitação da Web. O processo de configuração do .NET Profiler varia dependendo do tipo de aplicativo.
Veja Crie perfis de aplicativos de produção no Azure com o Application Insights para obter informações sobre como configurar o .NET Profiler.
Configurar Depurador de Instantâneos
O Depurador de Instantâneos no Application Insights monitora a telemetria de exceção de seu aplicativo .NET. Ele coleta instantâneos em suas exceções com mais lançamentos para que você tenha as informações necessárias para diagnosticar problemas na produção. O processo para configurar o Depurador de Instantâneos pode variar dependendo do tipo de aplicativo.
Consulte Depurar instantâneos em exceções em aplicativos .NET para obter detalhes sobre como configurar o Depurador de Instantâneos.
Próximas etapas
Com a coleta de dados configurada para todos os recursos do Azure, consulte Analisar e visualizar dados para ver as opções de análise desses dados.