Compartilhar via


Monitore o Azure Load Balancer

Este artigo descreve:

  • Os tipos de dados de monitoramento que você pode coletar para esse serviço.
  • Maneiras de analisar esses dados.

Observação

Se você já estiver familiarizado com esse serviço e/ou Azure Monitor e apenas quiser saber como analisar dados de monitoramento, consulte a seção Analyze perto do final deste artigo.

Quando você tem aplicativos críticos e processos de negócios que dependem de recursos Azure, você precisa monitorar e receber alertas para seu sistema. O serviço Azure Monitor coleta e agrega métricas e logs de cada componente do seu sistema. Azure Monitor fornece uma visão de disponibilidade, desempenho e resiliência e notifica você sobre problemas. Você pode usar o portal Azure, o PowerShell, o CLI do Azure, a API REST ou as bibliotecas de cliente para configurar e exibir dados de monitoramento.

Load Balancer fornece outros dados de monitoramento por meio de:

Insights

Alguns serviços em Azure têm um painel de monitoramento interno no portal Azure que fornece um ponto de partida para monitorar seu serviço. Esses dashboards são chamados insights e você pode encontrá-los no Insights Hub de Azure Monitor no portal Azure.

Informações do balanceador de carga fornecem:

  • Exibição de dependência funcional
  • Dashboard de métricas
  • Aba Visão Geral
  • Guia Disponibilidade de Front-end e Back-end
  • Guia Taxa de Transferência de Dados
  • Distribuição de Fluxo
  • Monitores de Conexão
  • Definições de métrica

Para obter mais informações sobre Load Balancer insights, consulte Using Insights para monitorar e configurar seu Azure Load Balancer.

Tipos de recurso

Azure usa o conceito de tipos de recursos e IDs para identificar tudo em uma assinatura. Os tipos de recurso também fazem parte das IDs de recurso para cada recurso em execução no Azure. Por exemplo, um tipo de recurso para uma máquina virtual é Microsoft.Compute/virtualMachines. Para obter uma lista de serviços e os tipos de recursos associados a eles, confira Provedores de recursos.

O Azure Monitor organiza os principais dados de monitoramento de maneira similar em métricas e logs com base em tipos de recursos, também chamados de namespaces. Métricas e logs diferentes estão disponíveis para diferentes tipos de recursos. Seu serviço pode estar associado a mais de um tipo de recurso.

Para obter mais informações sobre os tipos de recursos para Load Balancer, consulte Azure Load Balancer referência de dados de monitoramento.

Armazenamento de dados

Para Azure Monitor:

  • Os dados de métricas são armazenados no banco de dados de métricas Azure Monitor.
  • Os dados de log são armazenados no repositório de logs Azure Monitor. Log Analytics é uma ferramenta no portal Azure que pode consultar esse repositório.
  • O log de atividades Azure é um repositório separado com sua própria interface no portal Azure.

Opcionalmente, você pode rotear dados de métricas e logs de atividades para o armazenamento de logs do Azure Monitor. Em seguida, você pode usar Log Analytics para consultar os dados e correlacioná-los com outros dados de log.

Muitos serviços podem usar configurações de diagnóstico para enviar dados de métrica e de log para outros locais de armazenamento fora Azure Monitor. Exemplos incluem o Armazenamento do Azure, sistemas de parceiros hospedados e sistemas de parceiros não-Azure, usando os Hubs de Eventos.

Para obter informações detalhadas sobre como Azure Monitor armazena dados, consulte Azure Monitor plataforma de dados.

Métricas da plataforma do Azure Monitor

Azure Monitor fornece métricas de plataforma para a maioria dos serviços. Essas métricas são:

  • Definidas individualmente para cada namespace.
  • Armazenado no banco de dados de métricas de séries temporais do Azure Monitor.
  • Leves e capazes de dar suporte a alertas quase em tempo real.
  • Usadas para acompanhar o desempenho de um recurso ao longo do tempo.

Collection: Azure Monitor coleta automaticamente as métricas da plataforma. Nenhuma configuração é necessária.

Routing: Você também pode rotear algumas métricas de plataforma para Azure Monitor Logs/Log Analytics para que você possa consultá-los com outros dados de log. Verifique a configuração DS export para cada métrica para ver se você pode usar uma configuração de diagnóstico para rotear a métrica para Azure Monitor Logs/Log Analytics.

Para obter uma lista de todas as métricas que é possível coletar para todos os recursos em Azure Monitor, consulte Supported metrics in Azure Monitor.

Você pode analisar métricas para Load Balancer com métricas de outros serviços Azure usando o Metrics Explorer abrindo Metrics no menu Azure Monitor. Consulte Analyze metrics com o Azure Monitor metrics explorer para obter detalhes sobre como usar essa ferramenta.

Para obter uma lista das métricas disponíveis para Load Balancer, consulte Azure Load Balancer referência de dados de monitoramento.

Logs de recursos do Azure Monitor

Os logs de recursos fornecem informações sobre as operações que foram feitas por um recurso de Azure. Os logs são gerados automaticamente, mas você deve roteá-los para Azure Monitor logs para salvá-los ou consultá-los. Os logs são organizados em categorias. Um determinado namespace pode ter várias categorias de logs de recursos.

Coleta: Os logs de recursos não serão coletados nem armazenados até que você crie uma configuração de diagnóstico e encaminhe os logs para um ou mais locais. Ao criar uma configuração de diagnóstico, você especifica quais categorias de logs coletar. Há várias maneiras de criar e manter as configurações de diagnóstico, incluindo o portal Azure, programaticamente e através do Azure Policy.

Routing: O padrão sugerido é rotear logs de recursos para logs de Azure Monitor para que você possa consultá-los com outros dados de log. Outros locais, como Armazenamento do Azure, Hubs de Eventos do Azure e determinados parceiros de monitoramento Microsoft também estão disponíveis. Para obter mais informações, consulte logs de recursos do Azure e destinos de logs de recursos.

Para obter informações detalhadas sobre como coletar, armazenar e rotear logs de recursos, consulte as Configurações de Diagnóstico no Azure Monitor.

Para obter uma lista de todas as categorias de log de recursos disponíveis no Azure Monitor, consulte Logs de recursos compatíveis no Azure Monitor.

Todos os logs de recursos em Azure Monitor têm os mesmos campos de cabeçalho, seguidos por campos específicos do serviço. O esquema comum é descrito no esquema de log de recursos do Azure Monitor.

Para as categorias de log de recursos disponíveis, as suas tabelas de Log Analytics associadas e os esquemas de log para o Load Balancer, consulte a referência de dados de monitoramento do Azure Load Balancer.

Criação de uma configuração de diagnóstico

Os logs de recursos só são coletados e armazenados quando você cria uma configuração de diagnóstico e roteia-os para uma ou mais localizações. Você pode criar uma configuração de diagnóstico com o portal Azure, Azure PowerShell ou o CLI do Azure.

Para usar o portal do Azure e para obter diretrizes gerais, consulte Crie uma configuração de diagnóstico para coletar logs e métricas da plataforma no Azure. Para usar o PowerShell ou o CLI do Azure, consulte as seções a seguir.

Ao criar uma configuração de diagnóstico, você especifica quais categorias de logs coletar. A categoria para Load Balancer é AllMetrics.

PowerShell

Entre no Azure PowerShell:

Connect-AzAccount 

Espaço de Trabalho do Log Analytics

Para enviar logs de recursos para um espaço de trabalho do Log Analytics, insira esses comandos. Substitua os valores entre colchetes por seus valores:

## Place the load balancer in a variable. ##
$lbpara = @{
    ResourceGroupName = <your-resource-group-name>
    Name = <your-load-balancer-name>
}
$lb = Get-AzLoadBalancer @lbpara
    
## Place the workspace in a variable. ##
$wspara = @{
    ResourceGroupName = <your-resource-group-name>
    Name = <your-log-analytics-workspace-name>
}
$ws = Get-AzOperationalInsightsWorkspace @wspara
    
## Enable the diagnostic setting. ##
Set-AzDiagnosticSetting `
    -ResourceId $lb.id `
    -Name <your-diagnostic-setting-name> `
    -Enabled $true `
    -MetricCategory 'AllMetrics' `
    -WorkspaceId $ws.ResourceId

Conta de armazenamento

Para enviar logs de recursos para uma conta de armazenamento, insira esses comandos. Substitua os valores entre colchetes por seus valores:

## Place the load balancer in a variable. ##
$lbpara = @{
    ResourceGroupName = <your-resource-group-name>
    Name = <your-load-balancer-name>
}
$lb = Get-AzLoadBalancer @lbpara
    
## Place the storage account in a variable. ##
$storpara = @{
    ResourceGroupName = <your-resource-group-name>
    Name = <your-storage-account-name>
}
$storage = Get-AzStorageAccount @storpara
    
## Enable the diagnostic setting. ##
Set-AzDiagnosticSetting `
    -ResourceId $lb.id `
    -Name <your-diagnostic-setting-name> `
    -StorageAccountId $storage.id `
    -Enabled $true `
    -MetricCategory 'AllMetrics'

Hub de Eventos

Para enviar logs de recursos para um namespace do hub de eventos, insira esses comandos. Substitua os valores entre colchetes por seus valores:

## Place the load balancer in a variable. ##
$lbpara = @{
    ResourceGroupName = <your-resource-group-name>
    Name = <your-load-balancer-name>
}
$lb = Get-AzLoadBalancer @lbpara
    
## Place the event hub in a variable. ##
$hubpara = @{
    ResourceGroupName = <your-resource-group-name>
    Name = <your-event-hub-name>
}
$eventhub = Get-AzEventHubNamespace @hubpara

## Place the event hub authorization rule in a variable. ##    
$hubrule = @{
    ResourceGroupName = 'myResourceGroup'
    Namespace = 'myeventhub8675'
}
$eventhubrule = Get-AzEventHubAuthorizationRule @hubrule

## Enable the diagnostic setting. ##
Set-AzDiagnosticSetting `
    -ResourceId $lb.Id `
    -Name 'myDiagSetting-event'`
    -EventHubName $eventhub.Name `
    -EventHubAuthorizationRuleId $eventhubrule.Id `
    -Enabled $true `
    -MetricCategory 'AllMetrics'

CLI do Azure

Entre no CLI do Azure:

az login

Espaço de Trabalho do Log Analytics

Para enviar logs de recursos para um espaço de trabalho do Log Analytics, insira esses comandos. Substitua os valores entre colchetes por seus valores:

lbid=$(az network lb show \
    --name <your-load-balancer-name> \
    --resource-group <your-resource-group> \
    --query id \
    --output tsv)

wsid=$(az monitor log-analytics workspace show \
    --resource-group <your-resource-group> \
    --workspace-name <your-log-analytics-workspace-name> \
    --query id \
    --output tsv)
    
az monitor diagnostic-settings create \
    --name <your-diagnostic-setting-name> \
    --resource $lbid \
    --metrics '[{"category": "AllMetrics","enabled": true}]' \
    --workspace $wsid

Conta de armazenamento

Para enviar logs de recursos para uma conta de armazenamento, insira esses comandos. Substitua os valores entre colchetes por seus valores:

lbid=$(az network lb show \
    --name <your-load-balancer-name> \
    --resource-group <your-resource-group> \
    --query id \
    --output tsv)

storid=$(az storage account show \
        --name <your-storage-account-name> \
        --resource-group <your-resource-group> \
        --query id \
        --output tsv)
    
az monitor diagnostic-settings create \
    --name <your-diagnostic-setting-name> \
    --resource $lbid \
    --metrics '[{"category": "AllMetrics","enabled": true}]' \
    --storage-account $storid

Hub de Eventos

Para enviar logs de recursos para um namespace do hub de eventos, insira esses comandos. Substitua os valores entre colchetes por seus valores:

lbid=$(az network lb show \
    --name <your-load-balancer-name> \
    --resource-group <your-resource-group> \
    --query id \
    --output tsv)

az monitor diagnostic-settings create \
    --name myDiagSetting-event \
    --resource $lbid \
    --metrics '[{"category": "AllMetrics","enabled": true}]' \
    --event-hub-rule /subscriptions/<your-subscription-id>/resourceGroups/<your-resource-group>/providers/Microsoft.EventHub/namespaces/<your-event-hub-namespace>/authorizationrules/RootManageSharedAccessKey

log de atividades do Azure

O log de atividades contém eventos no nível da assinatura que acompanham as operações para cada recurso Azure, como visto de fora desse recurso; por exemplo, criando um novo recurso ou iniciando uma máquina virtual.

Collection: Eventos de log de atividades são gerados e coletados automaticamente em um repositório separado para exibição no portal Azure.

Routing: Você pode enviar dados de log de atividades para Azure Monitor Logs para poder analisá-los junto com outros dados de log. Outros locais, como Armazenamento do Azure, Hubs de Eventos do Azure e determinados parceiros de monitoramento Microsoft também estão disponíveis. Para obter mais informações sobre como rotear o log de atividades, consulte Overview do log de atividades Azure.

Observação

Os logs de atividade do balanceador de carga não incluirão atualizações para pools de back-end baseados em NIC. Para monitorar e alertar sobre atualizações para o pool de back-end do balanceador de carga para pools de back-end baseados em NIC, recomendamos coletar logs no nível de recurso NIC ou, em vez disso, em um nível de grupo de recursos.

Analisar dados de monitoramento

Existem várias ferramentas para analisar os dados de monitoramento.

ferramentas de Azure Monitor

Azure Monitor dá suporte às seguintes ferramentas básicas:

As ferramentas que permitem uma visualização mais complexa incluem:

  • Dashboards que permitem combinar diferentes tipos de dados em um único painel no portal Azure.
  • Workbooks, relatórios personalizáveis que você pode criar no portal Azure. As pastas de trabalho podem conter texto, métricas e consultas de log.
  • Grafana, uma ferramenta de plataforma aberta que oferece excelência em termos de painéis operacionais. Você pode usar o Grafana para criar dashboards que incluem dados de várias fontes diferentes de Azure Monitor.
  • Power BI, um serviço de análise de negócios que fornece visualizações interativas em várias fontes de dados. Você pode configurar Power BI para importar automaticamente dados de log de Azure Monitor para aproveitar essas visualizações.

ferramentas de exportação do Azure Monitor

Você pode obter dados de Azure Monitor em outras ferramentas usando os seguintes métodos:

Para começar a usar a API REST para Azure Monitor, consulte Guia do Azure Monitor para a API REST.

Analisando o tráfego do Balanceador de Carga com logs de fluxo de VNet

Logs de fluxo de rede virtual são um recurso do Observador de Rede do Azure que registra informações sobre o tráfego de IP que flui por uma rede virtual. Os logs de fluxo de redes virtuais são enviados para o Armazenamento do Azure. De lá, você pode acessar os dados e exportá-los para qualquer ferramenta de visualização, solução SIEM (gerenciamento de eventos e informações de segurança) ou IDS (sistema de detecção de intrusões).

Para saber como criar e gerenciar logs de fluxo de rede virtual, confira Gerenciar logs de fluxo de rede virtual. Depois de criar seus logs de fluxo de rede virtual, você pode acessar os dados em Log Analytics workspaces em que você também pode consultar e filtrar os dados para identificar o tráfego que flui por meio de sua Load Balancer. Confira Esquema de análise de tráfego e agregação de dados para saber mais sobre o esquema de logs de fluxo de rede virtual.

Você também pode habilitar a Análise de Tráfego ao criar logs de fluxo de rede virtual para obter insights e visualizações sobre os dados do log de fluxo, como distribuição de tráfego, padrão de tráfego, portas de aplicativos utilizadas e principais atores na rede virtual.

Consulta do Log Analytics para logs de fluxo de VNet

Para exibir logs para fluxos de entrada conectados a um Balanceador de Carga específico:

NTANetAnalytics
| where DestLoadBalancer == '<Subscription ID>/<Resource Group name>/<Load Balancer name>'
  1. Use a consulta acima em seu workspace Log Analytics e atualize a cadeia de caracteres com os valores válidos para o Load Balancer. Para saber mais sobre como usar Log Analytics, consulte Log Analytics tutorial.

  2. Para exibir o IP de origem da conexão, a coluna SrcIp ou a coluna SrcPublicIps será preenchida. Todo o tráfego proveniente de endereços IP públicos não mal-intencionados ou de serviços da Azure aparecerá em SrcPublicIps, e todos os outros IPs de origem aparecerão em SrcIP. Para saber mais sobre o tipo de tráfego, use a coluna FlowType para filtrar os diferentes tipos de endereços IP envolvidos no fluxo. Confira as Notas sobre o esquema de análise de tráfego e a agregação de dados para obter definições de campo FlowType.

  3. Identifique as instâncias do pool de backend que estão sendo usadas na conexão de entrada por meio de qualquer uma das seguintes colunas: DestIP, MacAddress, DestVM, TargetResourceID, DestNic.

  4. Por meio desses logs, você pode coletar mais informações sobre as conexões que passam por sua Load Balancer como informações de porta, protocolo e tamanho do tráfego por meio de pacote e contagem de bytes enviados do destino e da origem.

Consultas Kusto

Você pode analisar dados de monitoramento no repositório Azure Monitor Logs/Log Analytics usando a KQL (linguagem de consulta Kusto).

Importante

Quando você seleciona Logs no menu do serviço no portal, Log Analytics é aberto com o escopo da consulta definido para o serviço atual. Esse escopo significa que as consultas de log incluirão apenas dados desse tipo de recurso. Se você quiser executar uma consulta que inclua dados de outros serviços Azure, selecione Logs no menu Azure Monitor. Veja escopo de consulta de log e intervalo de tempo no Azure Monitor Log Analytics para mais detalhes.

Para obter uma lista de consultas comuns para qualquer serviço, consulte a interface de consultas Log Analytics.

Alertas

Azure Monitor alertas notificarão você proativamente quando condições específicas forem encontradas em seus dados de monitoramento. Os alertas permitem que você identifique e resolva problemas no seu sistema antes que os clientes os percebam. Para obter mais informações, consulte Azure Monitor alertas.

Há muitas fontes de alertas comuns para recursos de Azure. Para obter exemplos de alertas comuns para recursos de Azure, consulte Sample log alert queries. O site Azure Monitor AMBA (Alertas de Linha de Base) fornece um método semi-automatizado de implementação de alertas, dashboards e diretrizes de métricas de plataforma importantes. O site se aplica a um subconjunto de expansão contínua de serviços de Azure, incluindo todos os serviços que fazem parte da ALZ (Zona de Destino Azure).

O esquema comum de alertas padroniza o consumo de notificações de alerta do Azure Monitor. Para obter mais informações, confira Esquema de alertas comuns.

Tipos de alertas

Você pode alertar sobre qualquer fonte de dados de log ou métrica na plataforma de dados Azure Monitor. Existem muitos tipos diferentes de alertas dependendo dos serviços que você está monitorando e dos dados de monitoramento que você está coletando. Diferentes tipos de alertas têm diversos benefícios e desvantagens. Para obter mais informações, confira Escolha o tipo de alerta de monitoramento correto para você.

A lista a seguir descreve os tipos de alertas de Azure Monitor que você pode criar:

  • Os Alertas de métricas avaliam as métricas de recursos a intervalos regulares. As métricas podem ser métricas de plataforma, métricas personalizadas, logs de Azure Monitor convertidos em métricas ou métricas do Application Insights. Os alertas de métrica também podem aplicar várias condições e limites dinâmicos.
  • Log alerts permitem que os usuários usem uma consulta Log Analytics para avaliar os logs de recursos em uma frequência predefinida.
  • Os Alertas do log de atividades são disparados quando ocorre um novo evento de log de atividades que corresponda às condições definidas. Os alertas do Resource Health e os alertas de Integridade do Serviço são alertas de log de atividades que relatam a integridade do seu serviço e recurso.

Alguns serviços de Azure também dão suporte a alertas de detecção inteligente, alertas Prometheus ou regras de alerta recomendadas.

Para alguns serviços, você pode monitorar em escala aplicando a mesma regra de alerta de métrica a vários recursos do mesmo tipo que existem na mesma região Azure. Notificações individuais são enviadas para cada recurso monitorado. Para obter informações sobre os serviços e nuvens do Azure com suporte, consulte Monitorar múltiplos recursos com uma regra de alerta.

Observação

Se você estiver criando ou executando um aplicativo executado em seu serviço, Azure Monitor application insights poderá oferecer mais tipos de alertas.

Regras de alerta do Balanceador de Carga

A tabela a seguir lista algumas regras de alerta sugeridas para Load Balancer. Esses alertas são apenas exemplos. Você pode definir alertas para qualquer métrica, entrada de log ou entrada de log de atividades listada na referência de dados de monitoramento do Azure Load Balancer.

Tipo de alerta Condição Descrição
Regra de balanceamento de carga indisponível devido a VMs indisponíveis Se a divisão de disponibilidade do caminho de dados por endereço IP de Front-end e Porta de Front-end (todos os valores conhecidos e futuros) for igual a zero e, em um alerta independente secundário, se o status da investigação de integridade for igual a zero, dispare alertas Esses alertas ajudam a determinar se a disponibilidade do caminho de dados de qualquer regra de balanceamento de carga configurada não está fornecendo tráfego porque todas as VMs no pool de back-end associado estão sendo investigadas pela investigação de integridade configurada. Revise Suporte e resolução de problemas para Azure Load Balancer para investigar a possível causa raiz.
Disponibilidade da VM significativamente baixa Se o status da investigação de integridade dividido por IP de back-end e porta de back-end for igual ao percentual investigado definido pelo usuário do tamanho total do pool (ou seja, 25% investigados), um alerta será disparado Esse alerta determina se há menos VMs que o número necessário disponível para atender ao tráfego
Falha nas conexões de saída com o endpoint da internet Se a Contagem de Conexões SNAT filtrada para o Estado da Conexão = Falha for maior que zero, um alarme é disparado Esse alerta é acionado quando as portas SNAT são esgotadas, e as VMs não estão iniciando conexões de saída.
Aproximando-se do esgotamento de SNAT Se as Portas SNAT usadas forem maiores que o número definido pelo usuário, um alarme é disparado Esse alerta requer uma configuração de saída estática em que o mesmo número de portas sempre é alocado. Depois o alarme é acionado quando uma porcentagem das portas alocadas é usada.

Recomendações do Assistente

Para alguns serviços, se ocorrerem condições críticas ou alterações iminentes durante operações de recurso, um alerta será exibido na página de Visão geral do serviço no portal. Você pode encontrar mais informações e correções recomendadas para o alerta nas Recomendações do assistente em Monitoramento no menu à esquerda. Durante as operações normais, nenhuma recomendação do assistente será exibida.

Para obter mais informações sobre Assistente do Azure, consulte Assistente do Azure visão geral.