Monitorar o Gateway de Aplicativo do Azure

Este artigo descreve:

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

Nota

Se já estiver familiarizado com este serviço e/ou Azure Monitor e quiser apenas saber como analisar dados de monitorização, consulte a secção Analisar perto do final deste artigo.

Quando você tem aplicativos críticos e processos de negócios que dependem de recursos do 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. O Azure Monitor fornece uma exibição de disponibilidade, desempenho e resiliência e notifica você sobre problemas. Você pode usar o portal do Azure, PowerShell, CLI do Azure, API REST ou bibliotecas de cliente para configurar e exibir dados de monitoramento.

Análises

Alguns serviços no Azure têm um painel de monitoramento interno 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.

O Azure Monitor Network Insights fornece uma visão abrangente da integridade e métricas para todos os recursos de rede implantados, incluindo o Gateway de Aplicativo, sem exigir nenhuma configuração. Para obter mais informações, consulte Azure Monitor Network Insights.

Tipos de recursos

O Azure usa o conceito de tipos de recursos e IDs para identificar tudo em uma assinatura. Os tipos de recursos 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 seus tipos de recursos associados, consulte Provedores de recursos.

O Azure Monitor organiza da mesma forma os principais dados de monitorização em métricas e registos com base nos tipos de recurso, também chamados de espaços de nomes. Diferentes métricas e logs 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 o Application Gateway, consulte Referência de dados de monitoramento do Application Gateway.

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 este armazenamento.
  • O log de atividades do Azure é um repositório separado com sua própria interface no portal do Azure.

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

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

Para o Application Gateway, o modo específico de recursos cria três tabelas:

Nota

A opção específica do recurso está atualmente disponível em todas as regiões públicas.

Os utilizadores existentes podem continuar a utilizar o Diagnóstico do Azure ou optar por tabelas dedicadas, alterando o seletor em Definições de Diagnóstico para Resource specific ou para Dedicated no destino da API. O modo duplo não é suportado. Os dados em todos os logs podem fluir para o Diagnóstico do Azure ou para tabelas dedicadas. No entanto, pode ter várias definições de diagnóstico em que um fluxo de dados é enviado para o Azure Diagnostics e outro utiliza recursos específicos, ao mesmo tempo.

Selecionar a tabela de destino no Log Analytics: todos os serviços do Azure acabam por utilizar as tabelas específicas do recurso. Como parte dessa transição, você pode selecionar a tabela específica de diagnóstico ou recurso do Azure na configuração de diagnóstico usando um botão de alternância. O botão de alternância está definido para Específico do recurso por predefinição e, neste modo, os registos das novas categorias selecionadas são enviados para tabelas dedicadas no Log Analytics, enquanto os fluxos existentes permanecem inalterados. Veja o seguinte exemplo.

Captura de ecrã do ID do recurso do gateway de aplicações no portal.

Transformações do espaço de trabalho: optar pela opção específica do recurso permite filtrar e modificar seus dados antes que as transformações do espaço de trabalho os ingeram. Essa abordagem fornece controle granular, permitindo que você se concentre nas informações mais relevantes dos logs de lá, reduzindo os custos de dados e aumentando a segurança.

Para obter instruções detalhadas sobre como configurar transformações de espaço de trabalho, consulte Tutorial: Adicionar uma transformação de espaço de trabalho aos Logs do Azure Monitor usando o portal do Azure.

Métricas da plataforma Azure Monitor

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

  • Definido individualmente para cada namespace.
  • Armazenado no banco de dados de métricas de séries cronológicas do Azure Monitor.
  • Leve e capaz de suportar alertas quase em tempo real.
  • Usado para acompanhar o desempenho de um recurso ao longo do tempo.

Coleção: o Azure Monitor coleta métricas da plataforma automaticamente. Não é necessária qualquer configuração.

Roteamento: você também pode rotear algumas métricas da plataforma para o Azure Monitor Logs / Log Analytics para poder consultá-las com outros dados de log. Verifique a configuração de exportação DS 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 reunir para todos os recursos no Azure Monitor, consulte Métricas suportadas no Azure Monitor.

A página Visão geral no portal do Azure para cada Gateway de Aplicativo inclui as seguintes métricas:

  • Total de pedidos
  • Soma de pedidos falhados
  • Somar estado da resposta por HttpStatus
  • Débito total
  • Soma CurrentConnections
  • Contagem média de hosts saudáveis por BackendPool HttpSettings
  • Média de hosts não saudáveis por BackendPool HttpSettings

Para obter uma lista de métricas disponíveis para o Gateway de Aplicativo do Azure, consulte Referência de dados de monitoramento do Gateway de Aplicativo.

Para obter as métricas disponíveis do Firewall de Aplicações Web (WAF), consulte Métricas do Application Gateway WAF v2 e Métricas do Application Gateway WAF v1.

Registos de recursos do Azure Monitor

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

Recolha: os registos de recursos não são recolhidos nem armazenados até criar uma configuração de diagnóstico e encaminhar os registos para um ou mais locais. Ao criar uma definição de diagnóstico, especifica as categorias de registos que devem ser recolhidas. Há várias maneiras de criar e manter configurações de diagnóstico, incluindo o portal do Azure, programaticamente e por meio da Política do Azure.

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

Para obter informações detalhadas sobre como coletar, armazenar e rotear logs de recursos, consulte 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 com suporte no Azure Monitor.

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

Os dados nos Logs do Azure Monitor são armazenados em tabelas onde cada tabela tem seu próprio conjunto de propriedades exclusivas.

Consulte Referência de dados de monitorização do Application Gateway para:

  • Uma lista dos tipos de registos de recursos recolhidos para o Application Gateway.
  • Uma lista das tabelas usadas pelos Logs do Azure Monitor e consultáveis pelo Log Analytics.
  • As categorias de registos de recursos disponíveis, as respetivas tabelas associadas do Log Analytics e os esquemas dos registos do Application Gateway.

Registo de atividades do Azure

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

Coleção: os eventos do registo de atividades são gerados automaticamente e recolhidos num armazenamento separado para visualização 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. Outros locais, como o Armazenamento do Azure, Hubs de Eventos do Azure e determinados parceiros de monitoramento da Microsoft também estão disponíveis. Para obter mais informações sobre como rotear o log de atividades, consulte Visão geral do log de atividades do Azure.

Analise os dados de monitoramento

Existem muitas ferramentas para analisar 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 combinar 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. Os livros de trabalho podem incluir texto, métricas e consultas de registos.
  • Grafana, uma ferramenta de plataforma aberta que se destaca em dashboards operacionais. Você pode usar o Grafana para criar painéis que incluem dados de várias fontes diferentes do 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 o Power BI para importar automaticamente dados de log do Azure Monitor para aproveitar essas visualizações.

Analisando logs de acesso através do GoAccess

Publicamos um modelo do Resource Manager que instala e executa o popular analisador de logs GoAccess para logs de acesso do Application Gateway. O GoAccess fornece estatísticas valiosas de tráfego HTTP, como visitantes únicos, arquivos solicitados, hosts, sistemas operacionais, navegadores, códigos de status HTTP e muito mais. Para obter mais detalhes, consulte o ficheiro Readme na pasta de modelos do Gestor de Recursos no GitHub.

Ferramentas de exportação do Azure Monitor

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

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

Consultas Kusto

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

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 quiser executar uma consulta que inclua dados de outros serviços do Azure, selecione Logs no menu Azure Monitor . Consulte Escopo e intervalo de tempo da consulta de log no Azure Monitor Log Analytics para obter detalhes.

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

Os exemplos a seguir mostram algumas consultas úteis para o Application Gateway.

// Requests per hour 
// Count of the incoming requests on the Application Gateway. 
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess"
| summarize AggregatedValue = count() by bin(TimeGenerated, 1h), _ResourceId
| render timechart 
// Failed requests per hour 
// Count of requests to which Application Gateway responded with an error. 
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess" and httpStatus_d > 399
| summarize AggregatedValue = count() by bin(TimeGenerated, 1h), _ResourceId
| render timechart
// Top 10 Client IPs 
// Count of requests per client IP. 
AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess"
| summarize AggregatedValue = count() by clientIP_s
| top 10 by AggregatedValue
// Errors by user agent 
// Number of errors by user agent. 
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess" and httpStatus_d > 399
| summarize AggregatedValue = count() by userAgent_s, _ResourceId
| sort by AggregatedValue desc
// 5xx responses per instance 
// Count of server-error responses grouped by the Application Gateway instance that served them. 
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess" and httpStatus_d >= 500 and httpStatus_d <= 599
| summarize AggregatedValue = count() by instanceId_s, httpStatus_d, bin(TimeGenerated, 1h)
| sort by AggregatedValue desc

Para registos de acesso recolhidos em modo específico de recurso, use AGWAccessLogs em vez de AzureDiagnostics. A consulta seguinte conta 5xx respostas por instância de gateway e código de estado em intervalos de cinco minutos. Substitui <application-gateway-resource-id> pelo ID de recurso do gateway que estás a investigar.

AGWAccessLogs
| where TimeGenerated >= ago(24h)
| where _ResourceId =~ "<application-gateway-resource-id>"
| where HttpStatus between (500 .. 599)
| summarize ErrorCount = count() by InstanceId, HttpStatus, bin(TimeGenerated, 5m)
| order by TimeGenerated asc, InstanceId asc, HttpStatus asc

Compare estes períodos com as unidades de capacidade atuais de todo o gateway, utilizando o mesmo intervalo de tempo e intervalo de agregação. Esta métrica não tem dimensão de instância; a comparação fornece contexto, não a utilização de capacidade por instância ou prova de que as respostas 5xx causaram uma alteração de utilização. Para definições de campos e limites de comparação, veja Registos de acesso na referência de monitorização.

Alertas

Os alertas do Azure Monitor notificam proativamente quando condições específicas são encontradas em seus dados de monitoramento. Os alertas permitem-lhe identificar e resolver problemas no seu sistema antes que os seus clientes os percebam. Para obter mais informações, consulte Alertas do Azure Monitor.

Há muitas fontes de alertas comuns para recursos do Azure. Para obter exemplos de alertas comuns para recursos do Azure, consulte Consultas de alerta de log de exemplo. O site Azure Monitor Baseline Alerts (AMBA) fornece um método semiautomatizado de implementação de alertas métricos de plataforma, painéis e diretrizes importantes. O site aplica-se a um subconjunto em contínua expansão dos serviços do Azure, incluindo todos os serviços que fazem parte da Zona de Aterragem do Azure (ALZ).

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

Tipos de alertas

Pode configurar alertas para qualquer origem de dados de métricas ou de registos na plataforma de dados do Azure Monitor. Há 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 vários benefícios e desvantagens. Para obter mais informações, consulte Escolher o tipo de alerta de monitoramento correto.

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

  • Os alertas métricos avaliam as métricas de recursos em 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 métricos também podem aplicar várias condições e limites dinâmicos.
  • Os alertas de log permitem que os usuários usem uma consulta do Log Analytics para avaliar logs de recursos em uma frequência predefinida.
  • Os alertas do log de atividades são acionados quando ocorre um novo evento do log de atividades que corresponde às condições definidas. Os alertas de Estado de funcionamento do Recurso e os alertas de Estado de funcionamento do Serviço são alertas de registo de atividades que comunicam o estado de funcionamento do seu serviço e recurso.

Alguns serviços do Azure também suportam alertas de deteçã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 do Azure. Notificações individuais são enviadas para cada recurso monitorado. Para serviços e nuvens do Azure com suporte, consulte Monitorar vários recursos com uma regra de alerta.

Nota

Se você estiver criando ou executando um aplicativo executado em seu serviço, o Azure Monitor Application Insights pode oferecer mais tipos de alertas.

Para configurar alertas usando modelos ARM, consulte Configurar alertas do Azure Monitor.

Regras de alerta do Application Gateway

A tabela a seguir lista algumas regras de alerta sugeridas para o Application Gateway. Estes alertas são apenas exemplos. Você pode definir alertas para qualquer métrica, entrada de registo ou entrada do registo de atividades listados na referência de dados de monitorização do Application Gateway.

Application Gateway v2

Tipo de alerta Condição Descrição
Métrica A utilização da unidade de computação ultrapassa 75% do uso médio A unidade de computação é a medida da utilização computacional do seu Application Gateway. Verifique o uso médio da unidade de computação no último mês e defina um alerta se ela ultrapassar 75% dela.
Métrica Capacidade A utilização da unidade ultrapassa 75% do pico de utilização As unidades de capacidade representam a utilização geral do gateway em termos de taxa de transferência, computação e contagem de conexões. Verifique o uso máximo da unidade de capacidade no último mês e defina um alerta se ela ultrapassar 75% dela.
Métrica O número de anfitriões não saudáveis excede o limiar Indica o número de servidores back-end que o gateway de aplicativos não consegue investigar com êxito. Esse alerta deteta problemas em que as instâncias do gateway de aplicativo não conseguem se conectar ao back-end. Alerta se esse número ultrapassar 20% da capacidade de back-end.
Métrica Estado da resposta (4xx, 5xx) excede o limiar Quando o status de resposta do Application Gateway é 4xx ou 5xx. Pode haver uma resposta ocasional de 4xx ou 5xx devido a problemas transitórios. Você deve observar o gateway em produção para determinar o limite estático ou usar o limite dinâmico para o alerta.
Métrica Os pedidos com falha excedem o limite Quando a métrica "Pedidos com falha" ultrapassa o limite. Você deve observar o gateway em produção para determinar o limite estático ou usar o limite dinâmico para o alerta.
Métrica O tempo de resposta do último byte de back-end ultrapassa o limite Indica o intervalo de tempo entre o início do estabelecimento de uma conexão com o servidor back-end e o recebimento do último byte do corpo da resposta. Crie um alerta se a latência de resposta do backend for superior, em relação ao habitual, a um determinado limiar.
Métrica O tempo total do Application Gateway ultrapassa o limite Esse valor é o intervalo entre o momento em que o Application Gateway recebe o primeiro byte da solicitação HTTP até o momento em que o último byte de resposta foi enviado ao cliente. Deve ser criado um alerta se a latência de resposta do back-end for superior ao habitual acima de um determinado limiar.

Application Gateway v1

Tipo de alerta Condição Descrição
Métrica A utilização da CPU ultrapassa os 80% Em condições normais, o uso da CPU não deve exceder regularmente 90%. Esta situação pode causar latência nos sítios Web alojados por detrás do Gateway de Aplicação e perturbar a experiência do cliente.
Métrica O número de anfitriões não saudáveis excede o limiar Indica o número de servidores back-end que o Application Gateway não consegue investigar com êxito. Esse alerta deteta problemas em que as instâncias do Application Gateway não conseguem se conectar ao back-end. Emitir um alerta se este número ultrapassar 20% da capacidade da infraestrutura de back-end.
Métrica O estado de resposta (4xx, 5xx) excede o limiar Quando o status de resposta do Application Gateway é 4xx ou 5xx. Pode haver uma resposta ocasional de 4xx ou 5xx devido a problemas transitórios. Você deve observar o gateway em produção para determinar o limite estático ou usar o limite dinâmico para o alerta.
Métrica O número de pedidos com falha ultrapassa o limite Quando a métrica de solicitações com falha ultrapassa um limite. Você deve observar o gateway em produção para determinar o limite estático ou usar o limite dinâmico para o alerta.

Os alertas do Azure Monitor notificam proativamente quando as condições importantes são encontradas nos dados de monitorização. Permitem-lhe identificar e resolver problemas no seu sistema antes que os seus clientes reparem neles. Pode configurar alertas em métricas, registos e no registo de atividade. Diferentes tipos de alertas têm vantagens e desvantagens.

Se você estiver criando ou executando um aplicativo que usa o Gateway de Aplicativo, o Azure Monitor Application Insights pode oferecer outros tipos de alertas.

Recomendações do assistente

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

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

  • Consulte Referência de dados de monitoramento do Application Gateway para obter uma referência das métricas, logs e outros valores importantes criados para o Application Gateway.
  • Consulte Monitorando recursos do Azure com o Azure Monitor para obter detalhes gerais sobre o monitoramento de recursos do Azure.