Como monitorar a referência de dados do Gateway de Aplicativo do Azure

Confira Como monitorar o Gateway de Aplicativo do Azure para obter detalhes sobre como coletar e analisar dados de monitoramento do Gateway de Aplicativo do Azure.

Métricas do Gateway de Aplicativo v2

Provedor de Recursos e Tipo: Microsoft.Network/applicationGateways

Métricas de tempo

O Gateway de Aplicativo conta com diversas métricas de tempo internas relacionadas à solicitação e à resposta, todas medidas em milissegundos.

Observação

Se o Gateway de Aplicativo tiver mais de um ouvinte, sempre filtre pela dimensão Ouvinte, comparando diferentes métricas de latência para obter mais inferência significativa.

Métrica Unidade Descrição
Tempo de conexão do back-end Milissegundos É o tempo gasto estabelecendo uma conexão com o aplicativo back-end.

Isso inclui a latência da rede e o tempo de estabelecimento de novas conexões pela pilha TCP do servidor back-end. Para o TLS, ele também inclui o tempo de handshake.
Tempo de resposta do primeiro byte de back-end Milissegundos É o intervalo de tempo entre o início de estabelecimento de uma conexão com o servidor back-end e o recebimento do último byte do cabeçalho de resposta.

Isso aproxima a soma do tempo de conexão de back-end, do tempo que a solicitação leva para alcançar o back-end por meio do Gateway de Aplicativo, do tempo que o aplicativo back-end leva para responder (o tempo que o servidor leva para gerar conteúdo, possivelmente buscar consultas ao banco de dados) e do tempo que o primeiro byte da resposta leva para alcançar o Gateway de Aplicativo por meio do back-end.
Tempo de resposta do último byte de back-end Milissegundos É o intervalo de tempo entre o início de estabelecimento de uma conexão com o servidor back-end e o recebimento do último byte do corpo da resposta.

Isso aproxima a soma do tempo de resposta do primeiro byte de back-end ao tempo de transferência de dados. Esse número pode variar muito dependendo do tamanho dos objetos solicitados e da latência da rede do servidor.
Tempo total do gateway de aplicativo Milissegundos Tempo médio para que uma solicitação seja recebida, processada e sua resposta seja enviada.

É o intervalo entre o recebimento do primeiro byte da solicitação HTTP pelo Gateway de Aplicativo e o envio do último byte de resposta ao cliente. Isso inclui o tempo de processamento usado pelo Gateway de Aplicativo, o tempo de resposta do último byte de back-end, o tempo gasto pelo Gateway de Aplicativo para enviar toda a resposta e o RTT do cliente.
RTT do Cliente Milissegundos Tempo médio de ida e volta entre clientes e o Gateway de Aplicativo.

Essas métricas podem ser usadas para determinar se a lentidão observada é devido à rede do cliente, ao desempenho do Gateway de Aplicativo, à saturação de pilha TCP da rede back-end e do servidor back-end, ao desempenho do aplicativo back-end ou ao tamanho de arquivo grande.

Por exemplo, caso haja um pico na tendência do tempo de resposta do primeiro byte de back-end, mas a tendência do tempo de conexão de back-end seja estável, é possível concluir que a latência entre o Gateway de Aplicativo e o back-end e o tempo de estabelecimento da conexão são estáveis e que o pico se deve a um aumento no tempo de resposta do aplicativo back-end. Por outro lado, caso o pico no tempo de resposta do primeiro byte de back-end esteja associado a um pico correspondente no tempo de conexão de back-end, é possível deduzir que a rede entre o Gateway de Aplicativo e o servidor back-end ou a pilha TCP do servidor back-end está saturada.

Caso você note um pico no tempo de resposta do último byte de back-end, mas o tempo de resposta do primeiro byte de back-end seja estável, é possível deduzir que o pico se deve à solicitação de um arquivo maior.

Do mesmo jeito, caso o tempo total do gateway de aplicativo tenha um pico, mas o tempo de resposta do último byte de back-end seja estável, pode ser um sinal de gargalo de desempenho no Gateway de Aplicativo ou um gargalo na rede entre o cliente e o Gateway de Aplicativo. Além disso, se o RTT do cliente também tiver um pico correspondente, isso indicará que a degradação é devido à rede entre o cliente e o Gateway de Aplicativo.

Métricas do Gateway de Aplicativo

Métrica Unidade Descrição
Bytes recebidos Bytes Número de bytes recebidos dos clientes pelo Gateway de Aplicativo. (Essa métrica conta apenas para o tamanho do conteúdo da solicitação observado pelo Gateway de Aplicativo. Não inclui transferências de dados, como negociações de cabeçalho TLS, cabeçalhos de pacote TCP/IP ou retransmissões).
Bytes enviados Bytes Número de bytes enviados pelo Gateway de Aplicativo aos clientes. (Essa métrica conta apenas para o tamanho do Conteúdo de Resposta atendido pelo Gateway de Aplicativo. Não inclui transferências de dados, como cabeçalhos de pacote TCP/IP ou retransmissões).
Protocolo TLS do cliente Count Número de solicitações TLS e não TLS iniciadas pelo cliente que estabeleceram conexão com o Gateway de Aplicativo. Para ver a distribuição do protocolo TLS, filtre pela dimensão Protocolo TLS.
Unidades de capacidade atuais Count Contagem de unidades de capacidade consumidas para balancear a carga do tráfego. Existem três determinantes das unidades de capacidade: unidades de computação, conexões persistentes e taxa de transferência. Cada unidade de capacidade é composta de no máximo: uma unidade de computação ou 2500 conexões persistentes ou taxa de transferência de 2.22 Mbps.
Unidades de computação atuais Count Quantidade de capacidade de processador consumida. Entre os fatores que afetam a unidade de computação, estão as conexões TLS/s, as computações de reescrita de URL e o processamento de regra WAF.
Conexões atuais Count O número total de conexões simultâneas ativas de clientes com o Gateway de Aplicativo.
Estimativa de Unidades de Capacidade Cobradas Count Com o SKU v2, o modelo de preços é orientado pelo consumo. As unidades de capacidade medem o custo baseado no consumo que é cobrado junto com o custo fixo. *As unidades de capacidade cobradas estimadas indicam o número de unidades de capacidade usando a qual a cobrança é estimada. Isso é calculado como o maior valor entre as unidades de capacidade atuais (unidades de capacidade necessárias para balancear a carga do tráfego) e as unidades de capacidade cobráveis fixas (unidades de capacidade mínimas mantidas provisionadas).
Solicitações com falha Count Número de solicitações que o Gateway de Aplicativo respondeu com códigos de erro do servidor 5xx. Isso inclui os códigos 5xx gerados no Gateway de Aplicativo e os códigos 5xx gerados no back-end. O número de solicitações pode ser filtrado para mostrar o número por pool de back-end individual/específico ou combinação de configuração HTTP.
Unidades de Capacidade Cobráveis Fixas Count O número mínimo de unidades de capacidade mantido provisionado de acordo com a configuração de unidades de escala mínimas (uma instância representa dez unidades de capacidade) na configuração do Gateway de Aplicativo.
Novas conexões por segundo Count O número médio de novas conexões TCP por segundo estabelecidas de clientes para o Gateway de Aplicativo e do Gateway de Aplicativo para os membros de back-end.
Status da resposta Código de status Status de resposta HTTP retornado pelo Gateway de Aplicativo. A distribuição do código de status de resposta pode ser adicionalmente categorizada para mostrar as respostas nas categorias 2xx, 3xx, 4xx e 5xx.
Taxa de transferência Bytes/s Número de bytes por segundo atendidos pelo Gateway de Aplicativo. (Essa métrica conta apenas para o tamanho do Conteúdo atendido pelo Gateway de Aplicativo. Não inclui transferências de dados, como negociações de cabeçalho TLS, cabeçalhos de pacote TCP/IP ou retransmissões).
Total de solicitações Count Número de solicitações bem-sucedidas atendidas pelo Gateway de Aplicativo. O número de solicitações pode ser filtrado para mostrar o número por pool de back-end individual/específico ou combinação de configuração HTTP.

Métricas de back-end

Métrica Unidade Descrição
Status da resposta de back-end Count Número de códigos de status de resposta HTTP retornados pelos back-ends. Isso não inclui nenhum código de resposta gerado pelo Gateway de Aplicativo. A distribuição do código de status de resposta pode ser adicionalmente categorizada para mostrar as respostas nas categorias 2xx, 3xx, 4xx e 5xx.
Número de hosts íntegros Count O número de back-ends considerados íntegros pela investigação de integridade. É possível filtrar por pool de back-end para mostrar o número de hosts íntegros em um pool de back-end específico.
Número de hosts não íntegros Count O número de back-ends considerados não íntegros pela investigação de integridade. É possível filtrar por pool de back-end para mostrar o número de hosts não íntegros em um pool de back-end específico.
Solicitações por minuto por Host Íntegro Count O número médio de solicitações recebidas por um membro íntegro em um pool de back-end em um minuto. Especifique o pool de back-end usando a dimensão BackendPool HttpSettings.

API de integridade do back-end

Confira o tópico Gateways de Aplicativo – Integridade de Back-end para obter detalhes sobre a chamada à API do sistema que recupera a integridade de back-end de um gateway de aplicativo.

Exemplo de solicitação:output POST https://management.azure.com/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/ applicationGateways/appgw/backendhealth?api-version=2021-08-01 After

Depois de enviar esta solicitação POST, você deve receber uma resposta HTTP 202 Accepted. Nos cabeçalhos da resposta, localize o cabeçalho Location e faça uma nova solicitação GET utilizando essa URL.

output GET https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/region-name/operationResults/GUID?api-version=2021-08-01

Monitoramento de proxy TLS/TCP do Gateway de Aplicativo

Métricas de proxy TCP/TLS

Com a funcionalidade de proxy de camada 4 que agora está disponível no Gateway de Aplicativo, existem algumas métricas comuns (aplicáveis tanto à camada 7 quanto à camada 4) e a algumas métricas específicas da camada 4. A tabela a seguir apresenta todas as métricas aplicáveis ao uso da camada 4.

Métrica Descrição Type Dimensão
Conexões atuais O número de conexões ativas: leitura, gravação ou espera. O número de conexões atuais estabelecidas com o Gateway de Aplicativo. Métrica comum Nenhum
Novas conexões por segundo O número médio de conexões manipuladas por segundo durante esse minuto. Métrica comum Nenhum
Produtividade A taxa de fluxo de dados (inBytes+ outBytes) durante esse minuto. Métrica comum Nenhum
Número de hosts íntegros O número de hosts de back-end íntegros. Métrica comum BackendSettingsPool
Host não íntegro O número de hosts de back-end não íntegros. Métrica comum BackendSettingsPool
ClientRTT Tempo médio de ida e volta entre clientes e o Gateway de Aplicativo. Métrica comum Ouvinte
Tempo de Conexão de Back-end Tempo gasto estabelecendo uma conexão com um servidor de back-end. Métrica comum Listener, BackendServer, BackendPool, BackendSetting
Tempo de Resposta do Primeiro Byte de Back-end É o intervalo de tempo entre o início do estabelecimento de uma conexão com o servidor de back-end e o recebimento do primeiro byte de dados (estimando o tempo de processamento do servidor de back-end) Métrica comum Listener, BackendServer, BackendPool, BackendHttpSetting*
Duração da Sessão de Back-end O tempo total de uma conexão de back-end. A duração média desde o início de uma nova conexão até seu término. Específico para L4 Listener, BackendServer, BackendPool, BackendHttpSetting*
Tempo de vida da conexão O tempo total de uma conexão de cliente com o gateway de aplicativo. A duração média desde o início de uma nova conexão até seu término em milissegundos. Específico para L4 Ouvinte

* A dimensão BackendHttpSetting inclui as configurações de back-end das camadas 7 e 4.

Logs de proxy TLS/TCP

O proxy de Camada 4 do Gateway de Aplicativo disponibiliza dados de log através dos logs de acesso. Esses logs só serão gerados e publicados se estiverem configurados nas configurações de diagnóstico do seu gateway.

Categoria Categoria de log de recursos
ResourceGroup O grupo de recursos ao qual pertence o recurso do gateway de aplicativo.
SubscriptionId A ID da assinatura do recurso de gateway de aplicativo.
ResourceProvider Será MICROSOFT.NETWORK para o gateway de aplicativo.
Recurso O nome do recurso do gateway de aplicativo.
ResourceType Será APPLICATIONGATEWAYS.
ruleName O nome da regra de roteamento que atendeu à solicitação de conexão.
instanceId Instância do Gateway de Aplicativo que atendeu à solicitação.
clientIP IP de origem da solicitação.
receivedBytes Dados recebidos do cliente pelo gateway, em bytes.
sentBytes Dados enviados do gateway para o cliente, em bytes.
listenerName O nome do ouvinte que estabeleceu a conexão de front-end com o cliente.
backendSettingName O nome da configuração de back-end usada para a conexão de back-end.
backendPoolName O nome do pool de back-end do qual um servidor de destino foi selecionado para estabelecer a conexão de back-end.
protocolo TCP (seja TCP ou TLS, o valor do protocolo sempre será TCP).
sessionTime duração da sessão, em segundos (refere-se à sessão client->appgw)
upstreamSentBytes Dados enviados para o servidor de back-end, em bytes.
upstreamReceivedBytes Dados recebidos do servidor de back-end, em bytes.
upstreamSessionTime duração da sessão, em segundos (refere-se à sessão appgw->backend)
sslCipher Conjunto de criptografia usado para comunicação TLS (para ouvintes do protocolo TLS).
sslProtocol Protocolo SSL/TLS sendo usado (para ouvintes do protocolo TLS).
serverRouted O número da porta e o IP do servidor de back-end para o qual o tráfego foi direcionado.
serverStatus 200 – sessão concluída com sucesso. 400 – não foi possível analisar os dados do cliente. 500 – erro interno do servidor. 502 – gateway inválido. Por exemplo, quando não é possível alcançar um servidor upstream. 503 – serviço indisponível. Por exemplo, se o acesso estiver limitado pelo número de conexões.
ResourceId URI do recurso do Gateway de Aplicativo

Integridade de back-end do proxy TLS/TCP

O proxy de camada 4 do Gateway de Aplicativo permite monitorar a integridade dos membros individuais dos pools de back-end através do portal e da API REST.

Screenshot of backend health

Métricas do Gateway de Aplicativo v1

Métricas do Gateway de Aplicativo

Métrica Unidade Descrição
Utilização da CPU Porcentagem Exibe o uso de CPU alocado para o Gateway de Aplicativo. Sob condições normais, o uso da CPU não deveria exceder 90%, pois isso pode causar latência nos sites hospedados atrás do gateway de aplicativo e comprometer a experiência do cliente. É possível controlar ou aprimorar indiretamente o uso da CPU ao alterar a configuração do Gateway de Aplicativo por meio do aumento da contagem de instâncias ou da mudança para um tamanho de SKU maior ou de ambos.
Conexões atuais Count Contagem de conexões atuais estabelecidas com o Gateway de Aplicativo.
Solicitações com falha Count Número de solicitações que falharam devido a problemas de conexão. Esse número inclui solicitações que falharam porque a configuração HTTP Tempo limite da solicitação foi ultrapassada e as solicitações que falharam devido a problemas de conexão entre o Gateway de Aplicativo e o back-end. Essa contagem não inclui as falhas devido a não disponibilidade de um back-end íntegro. As respostas 4xx e 5xx do back-end também não são consideradas parte dessa métrica.
Status da resposta Código de status Status de resposta HTTP retornado pelo Gateway de Aplicativo. A distribuição do código de status de resposta pode ser adicionalmente categorizada para mostrar as respostas nas categorias 2xx, 3xx, 4xx e 5xx.
Taxa de transferência Bytes/s Número de bytes por segundo atendidos pelo Gateway de Aplicativo.
Total de solicitações Count Número de solicitações bem-sucedidas atendidas pelo Gateway de Aplicativo. O número de solicitações pode ser filtrado para mostrar o número por pool de back-end individual/específico ou combinação de configuração HTTP.
Contagem de Solicitações Bloqueadas do Firewall do Aplicativo Web Count Número de solicitações bloqueadas pelo WAF.
Distribuição Solicitações Bloqueadas do Firewall de Aplicativo Web Count Número de solicitações bloqueadas pelo WAF filtradas para mostrar a contagem por grupo de regras de WAF ou grupo de regras de WAF específico, ou combinação de ID da regra de WAF.
Distribuição de Regra Total do Firewall do Aplicativo Web Count Número de solicitações recebidas por grupo de regras WAF específico ou combinação de ID da regra de WAF.

Para obter mais informações, veja uma lista de todas as métricas de plataforma com suporte no Azure Monitor.

Dimensões das métricas

Para obter mais informações sobre as dimensões métricas, confira Métricas multidimensionais.

O Gateway de Aplicativo do Azure dá suporte a dimensões para algumas das métricas no Azure Monitor. Cada métrica inclui uma descrição que explica as dimensões disponíveis especificamente para essa métrica.

Logs de recursos

Esta seção lista os tipos de logs de recursos que você pode coletar para o Gateway de Aplicativo do Azure.

Para referência, confira uma lista de todos os tipos de categoria de logs de recursos com suporte no Azure Monitor.

Observação

O log de Desempenho está disponível apenas para a SKU v1. Para a SKU v2, use as Métricas do Gateway de Aplicativo v2 para dados de desempenho.

Para mais informações, confira Integridade de back-end e logs de diagnóstico do Gateway de Aplicativo.

Gateway de Aplicativo

Provedor de Recursos e Tipo: Microsoft.Network/applicationGateways

Categoria Nome para Exibição Informações
Activitylog Log de atividades As entradas de log de atividade são coletadas por padrão. Você pode usar os logs de atividades do Azure (anteriormente conhecidos como logs operacionais e logs de auditoria) para exibir todas as operações que estão sendo enviadas à sua assinatura do Azure, bem como seu status.
ApplicationGatewayAccessLog Log de acesso Você pode usar esse log para exibir os padrões de acesso do Gateway de Aplicativo e analisar informações importantes. Isso inclui o endereço IP do chamador, a URL solicitada, a latência de resposta, o código de retorno e os bytes de entrada e saída. A cada 60 segundos é coletado um log de acesso. Esse log contém um registro por instância do Gateway de Aplicativo. A instância do Gateway de Aplicativo é identificada pela propriedade instanceId.
ApplicationGatewayPerformanceLog Log de desempenho Você pode usar esse log para exibir o desempenho das instâncias do Gateway de Aplicativo. Esse log captura informações de desempenho de cada instância, incluindo o total de solicitações atendidas, a vazão de dados em bytes, o total de solicitações atendidas, a contagem de solicitações com falha e a contagem de instâncias de back-end íntegras ou não íntegras. Um log de desempenho é coletado a cada 60 segundos. O log de Desempenho está disponível apenas para a SKU v1. Para a SKU v2, use as Métricas do Gateway de Aplicativo v2 para dados de desempenho.
ApplicationGatewayFirewallLog Log de firewall Use esse log para exibir as solicitações registradas por meio do modo de detecção ou prevenção de um gateway de aplicativo configurado com o firewall do aplicativo Web. Os logs de firewall são coletados a cada 60 segundos.

Tabelas de Logs do Azure Monitor

Esta seção refere-se a todas as tabelas do Kusto dos Logs do Azure Monitor relevantes para o Gateway de Aplicativo do Azure e disponíveis para consulta pelo Log Analytics.

Tipo de recurso Observações
Gateway de Aplicativo Inclui AzureActivity, AzureDiagnostics e AzureMetrics

Para obter uma referência de todas as tabelas de Logs do Azure Monitor/Log Analytics, confira a Referência da tabela de log do Azure Monitor.

Tabelas de diagnóstico

O Gateway de Aplicativo do Azure usa a tabela Diagnóstico do Azure para armazenar informações de log de recursos. As colunas a seguir são relevantes.

Diagnóstico do Azure

Propriedade Descrição
requestUri_s O URI da solicitação do cliente.
Mensagem Mensagens informativas, como "Ataque de Injeção de SQL"
userAgent_s Detalhes do agente do usuário da solicitação do cliente
ruleName_s Regra de roteamento da solicitação que é usada para atender a essa solicitação
httpMethod_s Método HTTP da solicitação do cliente
instanceId_s A instância do Appgw para a qual a solicitação do cliente é roteada para avaliação
httpVersion_s Versão HTTP da solicitação do cliente
clientIP_s IP do qual a solicitação é feita
host_s Cabeçalho de host da solicitação do cliente
requestQuery_s Cadeia de caracteres de consulta como parte da solicitação do cliente
sslEnabled_s A solicitação do cliente tem o SSL habilitado

Confira também