Compartilhar via


Monitorar 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 já estiver familiarizado com esse serviço e/ou com o Azure Monitor e apenas quiser saber como analisar os dados de monitoramento, confira a seção Analisar ao final deste artigo.

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

O Load Balancer fornece ouros dados de monitoramento por meio de:

Insights

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

Os insights do Load Balancer fornecem:

  • Exibição de dependência funcional
  • Dashboard de métricas
  • Guia 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 os insights do Load Balancer, confira Usar os insights para monitorar e configurar o Azure Load Balancer.

Tipos de recurso

O 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 recursos 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 do Load Balancer, confira Referência de dados de monitoramento do Azure Load Balancer.

Armazenamento de dados

Para o Azure Monitor:

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

Opcionalmente, você pode rotear dados de log de métricas e atividades para o armazenamento de logs do Azure Monitor. Em seguida, você pode usar o 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étricas e logs para outros locais de armazenamento fora do Azure Monitor. Os exemplos incluem o Armazenamento do Azure, sistemas de parceiros hospedados e sistemas de parceiros não Azure, usando Hubs de Eventos.

Para obter informações detalhadas sobre como o Azure Monitor armazena dados, confira Plataforma de dados do Azure Monitor.

Métricas de plataforma do Azure Monitor

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

  • Definidas individualmente para cada namespace.
  • Armazenadas no banco de dados de métricas da série temporal 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.

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

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

Para obter uma lista de todas as métricas que é possível coletar para todos os recursos no Azure Monitor, confira Métricas com suporte no Azure Monitor.

Você pode analisar as métricas do Load Balancer com métricas de outros serviços do Azure por meio do Metrics Explorer. Para isso, abra Métricas no menu Azure Monitor. Consulte Análise de métricas com o explorador de métricas do Azure Monitor para obter detalhes sobre como usar essa ferramenta.

Para obter uma lista das métricas disponíveis para o Load Balancer, confira Referência de dados de monitoramento do Azure Load Balancer.

Logs de recursos do Azure Monitor

Os logs de recursos fornecem insights sobre as operações que foram executadas por um recurso do Azure. Os logs são gerados automaticamente, mas você precisa encaminhá-los para os logs do Azure Monitor para serem salvos ou consultados. 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 enquanto você não criar uma configuração de diagnóstico e encaminhar 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 configurações de diagnóstico, incluindo o portal do Azure, programaticamente e por meio do Azure Policy.

Encaminhamento: O padrão sugerido é encaminhar os logs de recursos para os logs do Azure Monitor para que você possa consultá-los com outros dados de logs. Também estão disponíveis outros locais, como o Armazenamento do Microsoft Azure, os Hubs de Eventos do Azure e determinados parceiros de monitoramento da Microsoft. Para obter mais informações, confira Logs de recursos do Azure e Destinos de logs de recursos.

Para obter informações detalhadas sobre como coletar, armazenar e encaminhar logs de recursos, confira Configurações de diagnóstico no Azure Monitor.

Para obter uma lista de todas as categorias de logs de recursos disponíveis no Azure Monitor, confira Logs de recursos com suporte no Azure Monitor.

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

Para obter as categorias de log de recursos disponíveis, suas tabelas do Log Analytics associadas e os esquemas de logs do Load Balancer, confira 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 do Azure, o Azure PowerShell ou a CLI do Azure.

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

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

PowerShell

Entre no Azure PowerShell:

Connect-AzAccount 

Workspace do Log Analytics

Para enviar logs de recursos para um workspace 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 na CLI do Azure:

az login

Workspace do Log Analytics

Para enviar logs de recursos para um workspace 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 de nível de assinatura que acompanham as operações de cada recurso do Azure, conforme visto fora desse recurso, por exemplo, criar um recurso ou iniciar uma máquina virtual.

Coleta: Os eventos do log de Atividades são gerados e coletados automaticamente em um repositório separado para serem vistos no portal do Azure.

Roteamento: você pode enviar dados de log de atividades para os logs do Azure Monitor para analisá-los junto com outros dados de log. Também estão disponíveis outros locais, como o Armazenamento do Microsoft Azure, os Hubs de Eventos do Azure e determinados parceiros de monitoramento da Microsoft. Para obter mais informações sobre como encaminhar o log de atividades, confira Visão geral do log de atividades do 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 do Azure Monitor

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

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

  • Painéis, que permitem que você combine diferentes tipos de dados em um único painel no portal do Azure.
  • Pastas de Trabalho, relatórios personalizáveis que você pode criar no portal do Azure. As pastas de trabalho podem incluir 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 painéis que incluem dados de várias fontes além do Azure Monitor.
  • Power BI, um serviço de análises corporativas que fornece visualizações interativas nas diversas fontes de dados. Você pode configurar o Power BI para importar dados de log automaticamente do Azure Monitor a fim de aproveitar essas visualizações.

Ferramentas de exportação do Azure Monitor

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

Para começar a usar a API REST do Azure Monitor, confira o Passo a passo da API REST de monitoramento do Azure.

Como analisar o tráfego do Load Balancer com logs de fluxo de VNet

Os logs de fluxo de rede virtual são um recurso do Observador de Rede do Azure que registra informações sobre o tráfego IP que flui por uma rede virtual. Os dados de fluxo dos registos de fluxo da rede virtual 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 logs de fluxo de rede virtual, você pode acessar os dados nos workspaces do Log Analytics, onde também é possível consultar e filtrar esses dados para identificar o tráfego que flui pelo 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 de fluxos de entrada conectados a um Load Balancer específico, faça o seguinte:

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

  2. Para exibir o IP de origem da conexão, a coluna SrcIp ou a coluna SrcPublicIps será preenchida. Todo o tráfego originado de endereços IP públicos não maliciosos ou de propriedade do serviço do 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 pelo Load Balancer, como informações de porta, protocolo e tamanho do tráfego, por meio de contagem de pacotes e bytes enviados do destino e da origem.

Consultas do Kusto

Analise os dados de monitoramento nos logs do Azure Monitor/no repositório do Log Analytics usando o KQL (Linguagem de Consulta Kusto).

Importante

Quando você seleciona Logs no menu do serviço no portal, o 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 do Azure, selecione Logs no menu do Azure Monitor. Confira Escopo da consulta de log e intervalo de tempo no Log Analytics do Azure Monitor para obter detalhes.

Para obter uma lista de consultas comuns para qualquer serviço, confira a Interface de consultas do Log Analytics.

Alertas

Os alertas do Azure Monitor o notificam proativamente quando condições específicas são 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 saber mais, confira Alertas do Azure Monitor.

Existem muitas fontes de alertas comuns para os recursos do Azure. Para obter exemplos de alertas comuns para recursos do Azure, confira Amostra de consultas de alerta de logs. O site Alertas de Linha de Base do Azure Monitor (AMBA) fornece um método semiautomatizado de implementação de alertas, painéis e diretrizes importantes de métrica de plataforma. O site se aplica a um subconjunto de serviços do Azure em contínua expansão, incluindo todos os serviços que fazem parte da Zona de Destino do Azure (ALZ).

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

Tipos de alertas

Você pode receber alertas sobre qualquer fonte de dados de log ou métrica na plataforma de dados do 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 do 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 do 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.
  • Os Alertas de logs permitem que os usuários usem uma consulta do Log Analytics para avaliar os logs de recursos com 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 da Integridade do Serviço são alertas do log de atividades que relatam a integridade do serviço e do recurso.

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

No caso de alguns serviços, você pode monitorar em larga escala aplicando a mesma regra de alerta de métricas a vários recursos do mesmo tipo que existem na mesma região do Azure. Notificações individuais são enviadas para cada recurso monitorado. Para ver os serviços e as nuvens do Azure com suporte, confira Monitorar vários recursos com uma regra de alerta.

Observação

Se você estiver criando ou executando um aplicativo que é executado no seu serviço, o Azure Monitor Application Insights poderá oferecer mais tipos de alertas.

Regras de alerta do Load Balancer

A tabela a seguir lista algumas regras de alerta sugeridas para o 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 disponibilidade do caminho de dados dividida pelo endereço IP do front-end e pela porta do front-end (todos os valores conhecidos e futuros) for igual a zero ou, em um segundo alerta independente, se o status da investigação de integridade for igual a zero, disparar 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. Leia o guia de solução de problemas do balanceador de carga 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 ponto de extremidade 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.
Abordar o 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 o Assistente do Azure, confira Visão geral do Assistente do Azure.