Referência de dados de monitoramento do Gateway de Aplicativo do Azure
Este artigo contém todas as informações de referência de monitoramento para este serviço.
Consulte Monitorar o Gateway de Aplicativo do Azure para obter detalhes sobre os dados que você pode coletar para o Gateway de Aplicativo e como usá-los.
Métricas
Esta seção lista todas as métricas da plataforma coletadas automaticamente para este serviço. Essas métricas também fazem parte da lista global de todas as métricas da plataforma com suporte no Azure Monitor.
Para obter informações sobre retenção de métricas, consulte Visão geral das métricas do Azure Monitor.
Métricas com suporte para Microsoft.Network/applicationGateways
A tabela a seguir lista todas as métricas disponíveis para o tipo de recurso Microsoft.Network/applicationGateways. Mais detalhes de descrição para muitas métricas estão incluídos após esta tabela.
- Nem todas as colunas podem estar presentes em todas as tabelas.
- Algumas colunas podem estar além da área de visualização da página. Selecione Expandir tabela para exibir todas as colunas disponíveis.
Títulos de tabela
- Categoria: o grupo ou classificação de métricas.
- Métrica: o nome de exibição da métrica como aparece no portal do Azure.
- Nome na API REST: o nome da métrica, conforme mencionado na API REST.
- Unidade: unidade de medida
- Agregação: o tipo de agregação padrão. Valores válidos: Médio (Méd.), Mínimo (Mín.), Máximo (Máx.), Total (Soma), Contagem.
- Dimensões: as Dimensões disponíveis para a métrica.
- Intervalos de agregação: os Intervalos em que a métrica é amostrada. Por exemplo,
PT1M
indica que a métrica é amostrada a cada minuto,PT30M
a cada 30 minutos,PT1H
a cada hora e assim por diante. - Exportação de DS: se a métrica é exportável para os Logs do Azure Monitor via configurações de diagnóstico. Para obter mais informações sobre exportação de métricas, consulte as Criar configurações de diagnóstico no Azure Monitor.
Métrica | Nome na API REST | Unidade | Agregação | Dimensões | Granularidade de tempo | Exportação de DS |
---|---|---|---|---|---|---|
Tempo Total do Gateway de Aplicativo Tempo para que uma solicitação seja processada e sua resposta seja enviada. Isso é o intervalo a partir da hora em que o Gateway de Aplicativo recebe o primeiro byte de uma solicitação HTTP até a hora em que a operação de envio de resposta é concluída. É importante observar que isso geralmente inclui o tempo de processamento do Gateway de Aplicativo, o tempo que os pacotes de solicitação e resposta estão percorrendo a rede e o tempo que o servidor de back-end levou para responder. |
ApplicationGatewayTotalTime |
MilliSeconds | Média, Máximo | Listener |
PT1M | Não |
Solicitações por minuto por Host Íntegro Contagem média de solicitações por minuto por host de back-end íntegro em um pool |
AvgRequestCountPerHealthyHost |
Contagem | Média | BackendSettingsPool |
PT1M | Não |
Corresponde à Proteção de Bot do WAF Regras de Bot Correspondentes |
AzwafBotProtection |
Count | Total (Soma) | Action , Category , Mode , CountryCode , PolicyName , , PolicyScope |
PT1M | Sim |
Corresponde às regras personalizadas do WAF Regras personalizadas correspondentes |
AzwafCustomRule |
Count | Total (Soma) | Action , CustomRuleID , Mode , CountryCode , PolicyName , , PolicyScope |
PT1M | Sim |
Contagem de solicitações de desafio do WAF do JS Número total de solicitações de desafio JS avaliadas pelo WAF |
AzWAFJSChallengeRequestCount |
Count | Total (Soma) | Action , PolicyName , Rule , PolicyScope |
PT1M | Sim |
Corresponde à regra gerenciada do WAF Regras gerenciadas correspondentes |
AzwafSecRule |
Count | Total (Soma) | Action , Mode , RuleGroupID , RuleID , CountryCode , PolicyName , , PolicyScope , , RuleSetName |
PT1M | Sim |
Total de solicitações do WAF Número total de solicitações avaliadas pelo WAF |
AzwafTotalRequests |
Count | Total (Soma) | Action , CountryCode , Method , Mode , PolicyName , , PolicyScope |
PT1M | Sim |
Tempo de conexão de back-end Tempo gasto estabelecendo uma conexão com um servidor de back-end |
BackendConnectTime |
MilliSeconds | Média, Máximo | Listener , BackendServer , BackendPool , BackendHttpSetting |
PT1M | Não |
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 último byte do cabeçalho de resposta, aproximando-se do tempo de processamento do servidor de back-end |
BackendFirstByteResponseTime |
MilliSeconds | Média, Máximo | Listener , BackendServer , BackendPool , BackendHttpSetting |
PT1M | Não |
Tempo de resposta do último byte de back-end É 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 |
BackendLastByteResponseTime |
MilliSeconds | Média, Máximo | Listener , BackendServer , BackendPool , BackendHttpSetting |
PT1M | Não |
Status da resposta de back-end O número de códigos de resposta HTTP gerados pelos membros de back-end. Isso não inclui nenhum código de resposta gerado pelo Gateway de Aplicativo. |
BackendResponseStatus |
Count | Total (Soma) | BackendServer , BackendPool , BackendHttpSetting , HttpStatusGroup |
PT1M | Sim |
Distribuição de regras de solicitações bloqueadas do Firewall de Aplicativo Web Distribuição de regra de solicitações bloqueadas do Firewall do Aplicativo Web |
BlockedCount |
Count | Total (Soma) | RuleGroup , RuleId |
PT1M | Sim |
Bytes Recebidos O número total de bytes recebidos dos clientes pelo Gateway de Aplicativo |
BytesReceived |
Bytes | Total (Soma) | Listener |
PT1M | Sim |
Bytes Enviados O número total de bytes enviados pelo Gateway de Aplicativo aos clientes |
BytesSent |
Bytes | Total (Soma) | Listener |
PT1M | Sim |
Unidades de capacidade atual Unidades de capacidade consumidas |
CapacityUnits |
Contagem | Média | <none> | PT1M | Não |
Cliente RTT Tempo de ida e volta entre clientes e o Gateway de Aplicativo. Essa métrica indica quanto tempo leva para estabelecer as conexões e retornar as confirmações |
ClientRtt |
MilliSeconds | Média, Máximo | Listener |
PT1M | Não |
Unidades de computação atuais Unidades de computação consumidas |
ComputeUnits |
Contagem | Média | <none> | PT1M | Não |
Utilização da CPU Utilização atual da CPU do Gateway de Aplicativo |
CpuUtilization |
Porcentagem | Média | <none> | PT1M | Não |
Conexões atuais Contagem de conexões atuais estabelecidas com o Gateway de Aplicativo |
CurrentConnections |
Count | Total (Soma) | <none> | PT1M | Sim |
Unidades de capacidade faturadas estimadas Estimativa de unidades de capacidade que serão cobradas |
EstimatedBilledCapacityUnits |
Contagem | Média | <none> | PT1M | Não |
Solicitações com falha Contagem de solicitações com falha atendidas pelo Gateway de Aplicativo |
FailedRequests |
Count | Total (Soma) | BackendSettingsPool |
PT1M | Sim |
Unidades de Capacidade Cobráveis Fixas Mínimo de unidades de capacidade que serão cobradas |
FixedBillableCapacityUnits |
Contagem | Média | <none> | PT1M | Não |
Contagem de hosts íntegros Número de hosts de back-end íntegros |
HealthyHostCount |
Contagem | Média | BackendSettingsPool |
PT1M | Sim |
Distribuição de Regra Total do Firewall do Aplicativo Web Distribuição da regra total do Firewall de Aplicativo Web para o tráfego de entrada |
MatchedCount |
Count | Total (Soma) | RuleGroup , RuleId |
PT1M | Sim |
Novas conexões por segundo Novas conexões por segundo estabelecidas com o Gateway de Aplicativo |
NewConnectionsPerSecond |
CountPerSecond | Média | <none> | PT1M | Não |
Status da resposta Status de resposta HTTP retornado pelo Gateway de Aplicativo |
ResponseStatus |
Count | Total (Soma) | HttpStatusGroup |
PT1M | Sim |
Taxa de transferência Número de bytes por segundo atendidos pelo Gateway de Aplicativo |
Throughput |
BytesPerSecond | Média | <none> | PT1M | Não |
Protocolo TLS do cliente O 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". |
TlsProtocol |
Count | Total (Soma) | Listener , TlsProtocol |
PT1M | Sim |
Total de solicitações Contagem de solicitações bem sucedidas atendidas pelo Gateway de Aplicativo |
TotalRequests |
Count | Total (Soma) | BackendSettingsPool |
PT1M | Sim |
Contagem de hosts não íntegros Número de hosts de back-end não íntegros |
UnhealthyHostCount |
Contagem | Média | BackendSettingsPool |
PT1M | Sim |
Para métricas de WAF (Firewall de Aplicativo Web) disponíveis, confira Métricas do WAF v2 do Gateway de Aplicativo e Métricas do WAF v1 do Gateway de Aplicativo.
Métricas de tempo para SKU do Gateway de Aplicativo v2
O SKU do Gateway de Aplicativo v2 fornece muitas métricas de tempo internas relacionadas à solicitação e à resposta, que são medidas em milissegundos. O que se segue são descrições expandidas das métricas de tempo já listadas na tabela de métricas anterior.
- Tempo de conexão de back-end. Esse valor inclui a latência de rede e o tempo gasto pela pilha TCP do servidor de back-end para estabelecer novas conexões. Para o TLS, ele também inclui o tempo de handshake.
- Tempo de resposta do primeiro byte de back-end. Esse valor se aproxima da soma do tempo de conexão de back-end, o tempo gasto pela solicitação para acessar o back-end do Gateway de Aplicativo, o tempo gasto pelo aplicativo de back-end para responder, que é o tempo que o servidor leva para gerar conteúdo e potencialmente buscar consultas de banco de dados e o tempo gasto pelo primeiro byte da resposta para acessar o Gateway de Aplicativo do back-end.
- Tempo de resposta do último byte de back-end. Esse valor se aproxima da soma do tempo de resposta do primeiro byte de back-end e do tempo de transferência de dados. Esse número varia muito dependendo do tamanho dos objetos solicitados e da latência da rede do servidor.
- Tempo total do gateway de aplicativo. Esse intervalo é o tempo desde que o Gateway de Aplicativo recebe o primeiro byte da solicitação HTTP até o momento em que o último byte de resposta foi enviado ao cliente.
- RTT do cliente. Tempo médio de ida e volta entre clientes e o Gateway de Aplicativo.
Métricas para SKU do Gateway de Aplicativo v2
Para o SKU do Gateway de Aplicativo v2, as métricas a seguir estão disponíveis. O que se segue são descrições expandidas das métricas já listadas na tabela de métricas anterior.
- Bytes recebidos. Essa métrica considera apenas o tamanho do conteúdo da solicitação observado pelo Gateway de Aplicativo. Ele não inclui transferências de dados, como negociações de cabeçalho TLS, cabeçalhos de pacotes TCP/IP ou retransmissões.
- Bytes enviados. Essa métrica considera apenas o tamanho do Conteúdo de Resposta atendido pelo Gateway de Aplicativo. Não inclui transferências de dados, como cabeçalhos de pacotes TCP/IP ou retransmissões.
- Protocolo TLS do cliente. Contagem de solicitações TLS e não TLS.
- Unidades de capacidade de corrente. Há três determinantes para a unidade de capacidade: unidade de computação, conexões persistentes e taxa de transferência. Cada unidade de capacidade é composta por 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. 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. O número total de conexões simultâneas ativas de clientes com o Gateway de Aplicativo.
- Unidades de capacidade faturada estimada. Com o SKU v2, o consumo impulsiona o modelo de preços. 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. Esse valor é calculado como o maior valor entre as unidades de capacidade atual (unidades de capacidade necessárias para balancear a carga do tráfego) e as unidades de capacidade faturável fixa (unidades de capacidade mínima mantidas provisionadas).
- Solicitações com falha. Esse valor 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 faturáveis fixas. O número mínimo de unidades de capacidade mantidas provisionadas de acordo com a configuração Unidades de escala mínimas na configuração do Gateway de Aplicativo. Uma instância se traduz em 10 unidades de capacidade.
- Novas conexões por segundo. 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 de resposta. 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. Essa métrica considera apenas o tamanho do conteúdo atendido pelo Gateway de Aplicativo. Ele não inclui transferências de dados, como negociações de cabeçalho TLS, cabeçalhos de pacotes TCP/IP ou retransmissões.
- Total de solicitações. Solicitações bem-sucedidas atendidas pelo Gateway de Aplicativo. A contagem de solicitações pode ser filtrada para mostrar a contagem por cada combinação de configuração de pool-http de back-end específica.
Métricas de back-end para SKU do Gateway de Aplicativo v2
Para o SKU do Gateway de Aplicativo v2, as métricas de back-end a seguir estão disponíveis. O que se segue são descrições expandidas das métricas de back-end já listadas na tabela de métricas anterior.
- Status de resposta de back-end. Contagem de códigos de status de resposta HTTP retornados pelos back-ends, não incluindo nenhum código de resposta gerado pelo Gateway de Aplicativo. A distribuição do código de status da resposta pode ser categorizada para mostrar as respostas nas categorias 2xx, 3xx, 4xx e 5xx.|
- Contagem de hosts íntegra. O número de hosts que são determinados como í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.
- Contagem de hosts não íntegros. O número de hosts que são determinados como 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. 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.
Métricas para SKU do Gateway de Aplicativo v1
Para SKU do Gateway de Aplicativo v1, as métricas a seguir estão disponíveis. O que se segue são descrições expandidas das métricas já listadas na tabela de métricas anterior.
Utilização da CPU. Exibe a utilização das CPUs alocadas para o gateway de aplicativo. Em condições normais, o uso da CPU não deve exceder regularmente 90%, pois essa situação pode causar latência nos sites hospedados por trás do Gateway de Aplicativo e interromper a experiência do cliente. É possível controlar ou aprimorar indiretamente a utilização 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. Contagem de conexões atuais estabelecidas com o Gateway de Aplicativo.
Solicitações com falha. 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 de resposta. 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. Número de bytes por segundo que o Gateway de Aplicativo atendeu.
Total de solicitações. 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 para SKU do Gateway de Aplicativo v1
Para o SKU do Gateway de Aplicativo v1, as métricas de back-end a seguir estão disponíveis. O que se segue são descrições expandidas das métricas de back-end já listadas na tabela de métricas anterior.
Contagem de hosts íntegra. 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.
Contagem de hosts não íntegros. 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.
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:
POST
https://management.azure.com/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/
applicationGateways/appgw/backendhealth?api-version=2021-08-01
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.
GET
https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/region-name/operationResults/GUID?api-version=2021-08-01
Métricas de proxy TCP/TLS
O Gateway de Aplicativo dá suporte ao monitoramento de proxy TLS/TCP. Com o recurso de proxy de camada 4 agora disponível com o Gateway de Aplicativo, há algumas métricas comuns que se aplicam à camada 7 e à camada 4. Existem algumas métricas específicas da camada 4. A lista a seguir resume as métricas aplicáveis ao uso da camada 4.
- Conexões atuais
- Novas conexões por segundo
- Taxa de transferência
- Número de hosts íntegros
- Número de hosts não íntegros
- Cliente RTT
- Tempo de Conexão de Back-end
- Tempo de resposta do primeiro byte de back-end.
BackendHttpSetting
inclui as configurações de back-end da camada 7 e da camada 4.
Para obter mais informações, consulte as descrições anteriores e a tabela de métricas.
Essas métricas se aplicam apenas à camada 4.
- 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.
BackendHttpSetting
inclui as configurações de back-end da camada 7 e da camada 4. - 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.
Integridade de back-end do proxy TLS/TCP
O proxy de camada 4 do Gateway de Aplicativo fornece a capacidade de monitorar a integridade de membros individuais dos pools de back-end por meio do portal e da API REST.
Dimensões de métrica
Para obter mais informações sobre o que são dimensões de métrica, confira Métricas multidimensionais.
Este serviço tem as dimensões a seguir associadas a essas métricas.
- Ação
- Configuração de back-end http
- BackendPool
- Servidor de back-end
- BackendSettingsPool
- Categoria
- CountryCode
- CustomRuleID
- HttpStatusGroup
- Ouvinte
- Método
- Mode
- PolicyName
- PolicyScope
- RuleGroup
- RuleGroupID
- RuleId
- RuleSetName
- TlsProtocol
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.
Logs de recursos
Esta seção lista os tipos de logs de recursos que você pode coletar para o este serviço. A seção extrai da lista de todos os tipos de categoria de logs de recursos com suporte no Azure Monitor.
Categorias de log de recursos com suporte para Microsoft.Network/applicationGateways
Categoria | Nome de exibição da categoria | Tabela de log | Com suporte a plano de log básico | Com suporte a transformações de tempo-ingestão | Consultas de exemplo | Custos de exportação |
---|---|---|---|---|---|---|
ApplicationGatewayAccessLog |
Log de Acesso ao Gateway de Aplicativo | AzureDiagnostics Logs de vários recursos do Azure. |
Não | Não | Consultas | Não |
ApplicationGatewayFirewallLog |
Log de Firewall do Gateway de Aplicativo | AzureDiagnostics Logs de vários recursos do Azure. |
Não | Não | Consultas | Não |
ApplicationGatewayPerformanceLog |
Log de desempenho do Gateway de Aplicativo | AzureDiagnostics Logs de vários recursos do Azure. |
Não | Não | Consultas | Não |
Registro de acesso. Você pode usar o log de acesso para exibir padrões de acesso do Gateway de Aplicativo e analisar informações importantes. Essas informações incluem 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. Um log de acesso é coletado a cada 60 segundos. Esse log contém um registro por instância do Gateway de Aplicativo. A
instanceId
propriedade identifica a instância do Gateway de Aplicativo.Log do firewall. Você pode usar o log do Firewall 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.
Log de desempenho. Você pode usar o log de desempenho 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.
Observação
O log de Desempenho está disponível apenas para a SKU v1. Para a SKU v2, use as Métricas para dados de desempenho.
Categoria de log de acesso
O log de acesso será gerado somente se você habilitá-lo em cada instância do Gateway de Aplicativo, conforme detalhado em Habilitar registro em log. Os dados são armazenados na conta de armazenamento especificada quando o log foi habilitado. Cada acesso do Gateway de Aplicativo é registrado no formato JSON, conforme mostrado.
Observação
Para obter informações relacionadas ao proxy TLS/TCP, acesse a referência de dados.
Para o Gateway de Aplicativo e o SKU do WAF v2:
Valor | Descrição |
---|---|
instanceId | Instância do Gateway de Aplicativo que atendeu à solicitação. |
clientIP | IP do cliente imediato do Gateway de Aplicativo. Se outro proxy estiver na frente do gateway de aplicativo, esse valor exibirá o IP desse proxy de frente. |
httpMethod | Método HTTP usado pela solicitação. |
requestUri | URI da solicitação recebida. |
UserAgent | Agente do usuário do cabeçalho da solicitação HTTP. |
httpStatus | Código de status HTTP retornado ao cliente do Gateway de Aplicativo. |
httpVersion | Versão HTTP da solicitação. |
receivedBytes | Tamanho do pacote recebido, em bytes. |
sentBytes | Tamanho do pacote enviado, em bytes. |
clientResponseTime | Diferença de tempo (em segundos) entre o primeiro e o último byte que o gateway de aplicativo enviou ao cliente. Útil para medir o tempo de processamento do Gateway de Aplicativo para respostas ou clientes lentos. |
timeTaken | Duração do tempo (em segundos) que leva para o primeiro byte de uma solicitação de cliente ser processado e o último byte enviado na resposta ao cliente. É importante observar que o campo Time-Taken geralmente inclui a hora em que os pacotes de solicitação e resposta são transmitidos pela rede. |
WAFEvaluationTime | Duração do tempo (em segundos) que leva para que a solicitação seja processada pelo WAF. |
WAFMode | O valor pode ser Detecção ou Prevenção. |
transactionId | Identificador exclusivo para correlacionar a solicitação recebida do cliente. |
sslEnabled | Indica se a comunicação com os pools de back-end usou o TLS. Os valores válidos são ativado e desativado. |
sslCipher | Conjunto de criptografia usado para comunicação TLS (se o TLS estiver habilitado). |
sslProtocol | Protocolo SSL/TLS usado (se o TLS estiver habilitado). |
sslClientVerify | Mostra o resultado da verificação do certificado do cliente como SUCCESS ou FAILED. O status com falha incluirá informações de erro. |
sslClientCertificateFingerprint | A impressão digital SHA1 do certificado do cliente para uma conexão TLS estabelecida. |
sslClientCertificateIssuerName | A cadeia de caracteres DN do emissor do certificado do cliente para uma conexão TLS estabelecida. |
serverRouted | O servidor back-end para o qual o gateway de aplicativo roteia a solicitação. |
serverStatus | Código de status HTTP do servidor back-end. |
serverResponseLatency | Latência da resposta (em segundos) do servidor back-end. |
host | Endereço listado no cabeçalho de host da solicitação. Se reescrito usando a reescrita de cabeçalho, esse campo conterá o nome do host atualizado. |
originalRequestUriWithArgs | Esse campo contém o URL da solicitação original. |
requestUri | Esse campo contém a URL após a operação de reescrita no Gateway de Aplicativo. |
upstreamSourcePort | A porta de origem usada pelo Gateway de Aplicativo ao iniciar uma conexão com o destino de back-end. |
originalHost | Este campo contém o nome do host da solicitação original. |
error_info | O motivo do erro 4xx e 5xx. Exibe um código de erro para uma solicitação com falha. Mais detalhes nas tabelas de códigos de erro neste artigo. |
contentType | O tipo de conteúdo ou dados que está sendo processado ou entregue pelo gateway de aplicativo. |
{
"timeStamp": "2021-10-14T22:17:11+00:00",
"resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
"listenerName": "HTTP-Listener",
"ruleName": "Storage-Static-Rule",
"backendPoolName": "StaticStorageAccount",
"backendSettingName": "StorageStatic-HTTPS-Setting",
"operationName": "ApplicationGatewayAccess",
"category": "ApplicationGatewayAccessLog",
"properties": {
"instanceId": "appgw_2",
"clientIP": "185.42.129.24",
"clientPort": 45057,
"httpMethod": "GET",
"originalRequestUriWithArgs": "\/",
"requestUri": "\/",
"requestQuery": "",
"userAgent": "Mozilla\/5.0 (Windows NT 6.1; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/52.0.2743.116 Safari\/537.36",
"httpStatus": 200,
"httpVersion": "HTTP\/1.1",
"receivedBytes": 184,
"sentBytes": 466,
"clientResponseTime": 0,
"timeTaken": 0.034,
"WAFEvaluationTime": "0.000",
"WAFMode": "Detection",
"transactionId": "592d1649f75a8d480a3c4dc6a975309d",
"sslEnabled": "on",
"sslCipher": "ECDHE-RSA-AES256-GCM-SHA384",
"sslProtocol": "TLSv1.2",
"sslClientVerify": "NONE",
"sslClientCertificateFingerprint": "",
"sslClientCertificateIssuerName": "",
"serverRouted": "52.239.221.65:443",
"serverStatus": "200",
"serverResponseLatency": "0.028",
"upstreamSourcePort": "21564",
"originalHost": "20.110.30.194",
"host": "20.110.30.194",
"error_info":"ERRORINFO_NO_ERROR",
"contentType":"application/json"
}
}
Observação
Os logs de acesso com o valor clientIP 127.0.0.1 se originam de um processo de segurança interno em execução nas instâncias do gateway de aplicativo. Você pode ignorar com segurança essas entradas de log.
Para o Gateway de Aplicativo Standard e o SKU do WAF (v1):
Valor | Descrição |
---|---|
instanceId | Instância do Gateway de Aplicativo que atendeu à solicitação. |
clientIP | IP de origem da solicitação. |
clientPort | Porta de origem da solicitação. |
httpMethod | Método HTTP usado pela solicitação. |
requestUri | URI da solicitação recebida. |
RequestQuery | Roteado pelo servidor: instância do pool de back-end à qual foi enviada a solicitação. ID-de-LOG-do-X-AzureApplicationGateway: ID de correlação usada para a solicitação. Ela pode ser usada para solucionar problemas de tráfego nos servidores back-end. STATUS-DO-SERVIDOR: código de resposta HTTP que o Gateway de Aplicativo recebeu do back-end. |
UserAgent | Agente do usuário do cabeçalho da solicitação HTTP. |
httpStatus | Código de status HTTP retornado ao cliente do Gateway de Aplicativo. |
httpVersion | Versão HTTP da solicitação. |
receivedBytes | Tamanho do pacote recebido, em bytes. |
sentBytes | Tamanho do pacote enviado, em bytes. |
timeTaken | Duração (em milissegundos) necessária para que uma solicitação seja processada e sua resposta seja enviada. Esse valor é calculado como o intervalo entre o momento em que o Gateway de Aplicativo recebe o primeiro byte de uma solicitação HTTP até o momento em que a operação de envio de resposta é concluída. É importante observar que o campo Time-Taken geralmente inclui a hora em que os pacotes de solicitação e resposta são transmitidos pela rede. |
sslEnabled | Indica se a comunicação com os pools de back-end usou o TLS/SSL. Os valores válidos são ativado e desativado. |
host | O nome do host para o qual a solicitação foi enviada para o servidor de back-end. Se o nome do host de back-end estiver sendo substituído, esse nome vai refletir isso. |
originalHost | O nome do host no qual a solicitação foi recebida pelo Gateway de Aplicativo do cliente. |
{
"resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/PEERINGTEST/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
"operationName": "ApplicationGatewayAccess",
"time": "2017-04-26T19:27:38Z",
"category": "ApplicationGatewayAccessLog",
"properties": {
"instanceId": "ApplicationGatewayRole_IN_0",
"clientIP": "203.0.113.97",
"clientPort": 46886,
"httpMethod": "GET",
"requestUri": "/phpmyadmin/scripts/setup.php",
"requestQuery": "X-AzureApplicationGateway-CACHE-HIT=0&SERVER-ROUTED=10.4.0.4&X-AzureApplicationGateway-LOG-ID=aaaa0000-bb11-2222-33cc-444444dddddd&SERVER-STATUS=404",
"userAgent": "-",
"httpStatus": 404,
"httpVersion": "HTTP/1.0",
"receivedBytes": 65,
"sentBytes": 553,
"timeTaken": 205,
"sslEnabled": "off",
"host": "www.contoso.com",
"originalHost": "www.contoso.com"
}
}
Se o gateway de aplicativo não puder concluir a solicitação, ele armazenará um dos seguintes códigos de motivo no campo error_info do log de acesso.
Erros 4XX | Os códigos de erro 4xx indicam que houve um problema com a solicitação do cliente e o Gateway de Aplicativo não pode atendê-lo. |
---|---|
ERRORINFO_INVALID_METHOD | O cliente enviou uma solicitação que não é compatível com RFC. Possíveis motivos: cliente usando método HTTP sem suporte pelo servidor, método com ortografia incorreta, versão incompatível do protocolo HTTP etc. |
ERRORINFO_INVALID_REQUEST | O servidor não pode atender à solicitação devido à sintaxe incorreta. |
ERRORINFO_INVALID_VERSION | O gateway de aplicativo recebeu uma solicitação com uma versão HTTP inválida ou sem suporte. |
ERRORINFO_INVALID_09_METHOD | A solicitação enviada pelo cliente com o Protocolo HTTP versão 0.9. |
ERRORINFO_INVALID_HOST | O valor fornecido no cabeçalho “Host” está ausente, formatado incorretamente ou não corresponde ao valor de host esperado. Por exemplo, quando não há ouvinte básico e nenhum dos nomes de host de ouvintes de vários sites corresponde ao host. |
ERRORINFO_INVALID_CONTENT_LENGTH | O comprimento do conteúdo especificado pelo cliente no cabeçalho content-Length não corresponde ao comprimento real do conteúdo na solicitação. |
ERRORINFO_INVALID_METHOD_TRACE | O cliente enviou o método HTTP TRACE, ao qual o gateway de aplicativo não dá suporte. |
ERRORINFO_CLIENT_CLOSED_REQUEST | O cliente fechou a conexão com o gateway de aplicativo antes do período de tempo limite ocioso ter decorrido. Verifique se o período de tempo limite do cliente é maior do que o período de tempo limite ocioso do gateway de aplicativo. |
ERRORINFO_REQUEST_URI_INVALID | Indica um problema com o URI (Uniform Resource Identifier) fornecido na solicitação do cliente. |
ERRORINFO_HTTP_NO_HOST_HEADER | O cliente enviou uma solicitação sem o cabeçalho de host. |
ERRORINFO_HTTP_TO_HTTPS_PORT | O cliente enviou uma solicitação HTTP sem formatação para uma porta HTTPS. |
ERRORINFO_HTTPS_NO_CERT | indica que o cliente não está enviando um certificado TLS válido e configurado corretamente durante a autenticação TLS mútua. |
Erros 5XX | Descrição |
---|---|
ERRORINFO_UPSTREAM_NO_LIVE | O gateway de aplicativo não consegue encontrar nenhum servidor de back-end ativo ou acessível para lidar com solicitações de entrada. |
ERRORINFO_UPSTREAM_CLOSED_CONNECTION | O servidor de back-end fechou a conexão inesperadamente ou antes da solicitação ser totalmente processada. Essa condição pode acontecer devido ao servidor de back-end atingir seus limites, travar etc. |
ERRORINFO_UPSTREAM_TIMED_OUT | A conexão TCP estabelecida com o servidor foi fechada, pois a conexão demorou mais do que o valor de tempo limite configurado. |
Categoria de log do firewall
O log do firewall será gerado somente se você habilitá-lo para cada gateway de aplicativo, conforme detalhado em Habilitar registro em log. Esse log também exige a configuração de um firewall de aplicativo Web em um gateway de aplicativo. Os dados são armazenados na conta de armazenamento especificada quando o log foi habilitado. Os seguintes dados são registrados em log:
Valor | Descrição |
---|---|
instanceId | Instância do Gateway de Aplicativo para a qual os dados de firewall estão sendo gerados. Para um gateway de aplicativo de várias instâncias, há uma linha por instância. |
clientIp | IP de origem da solicitação. |
clientPort | Porta de origem da solicitação. |
requestUri | URL da solicitação recebida. |
ruleSetType | Tipo de conjunto de regras. O valor disponível é OWASP. |
ruleSetVersion | Versão utilizada do conjunto de regras. Os valores disponíveis são 2.2.9 e 3.0. |
ruleId | ID da Regra do evento de gatilho. |
message | Mensagem amigável para o evento de gatilho. Mais detalhes são fornecidos na seção de detalhes. |
ação | Ação executada na solicitação. Os valores disponíveis são Blocked e Allowed (para regras personalizadas), Matched (quando uma regra corresponde a uma parte da solicitação) e Detected e Blocked (esses valores são ambos para regras obrigatórias, dependendo se o WAF está no modo de detecção ou prevenção). |
site | Site para o qual o log foi gerado. No momento, somente Global é listado porque as regras são globais. |
detalhes | Detalhes do evento de gatilho. |
details.message | Descrição da regra. |
details.data | Dados específicos encontrados na solicitação que corresponderam à regra. |
details.file | Arquivo de configuração que continha a regra. |
details.line | Número de linha no arquivo de configuração que disparou o evento. |
hostname | Nome do host ou endereço IP do Gateway de Aplicativo. |
transactionId | ID exclusivo para uma determinada transação, que ajuda a agrupar várias violações de regra que ocorreram na mesma solicitação. |
{
"timeStamp": "2021-10-14T22:17:11+00:00",
"resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
"operationName": "ApplicationGatewayFirewall",
"category": "ApplicationGatewayFirewallLog",
"properties": {
"instanceId": "appgw_2",
"clientIp": "185.42.129.24",
"clientPort": "",
"requestUri": "\/",
"ruleSetType": "OWASP_CRS",
"ruleSetVersion": "3.0.0",
"ruleId": "920350",
"message": "Host header is a numeric IP address",
"action": "Matched",
"site": "Global",
"details": {
"message": "Warning. Pattern match \\\"^[\\\\d.:]+$\\\" at REQUEST_HEADERS:Host .... ",
"data": "20.110.30.194:80",
"file": "rules\/REQUEST-920-PROTOCOL-ENFORCEMENT.conf",
"line": "791"
},
"hostname": "20.110.30.194:80",
"transactionId": "592d1649f75a8d480a3c4dc6a975309d",
"policyId": "default",
"policyScope": "Global",
"policyScopeName": "Global"
}
}
Categoria de log de desempenho
O log de desempenho será gerado somente se você habilitá-lo em cada instância do Gateway de Aplicativo, conforme detalhado em Habilitar o log. Os dados são armazenados na conta de armazenamento especificada quando o log foi habilitado. Os dados do log de desempenho são gerados em intervalos de 1 minuto. Ele está disponível somente para a SKU v1. Para a SKU v2, use as Métricas para dados de desempenho. Os seguintes dados são registrados em log:
Valor | Descrição |
---|---|
instanceId | Instância do Gateway de Aplicativo para a qual os dados de desempenho estão sendo gerados. Para um gateway de aplicativo de várias instâncias, há uma linha por instância. |
healthyHostCount | Número de hosts íntegros no pool de back-end. |
unHealthyHostCount | Número de hosts não íntegros no pool de back-end. |
requestCount | Número de solicitações atendidas. |
latência | Latência média (em milissegundos) de solicitações da instância para o back-end que atende às solicitações. |
failedRequestCount | Número de solicitações com falha. |
throughput | Vazão de dados média desde o último log, medida em bytes por segundo. |
{
"resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
"operationName": "ApplicationGatewayPerformance",
"time": "2016-04-09T00:00:00Z",
"category": "ApplicationGatewayPerformanceLog",
"properties":
{
"instanceId":"ApplicationGatewayRole_IN_1",
"healthyHostCount":"4",
"unHealthyHostCount":"0",
"requestCount":"185",
"latency":"0",
"failedRequestCount":"0",
"throughput":"119427"
}
}
Observação
A latência é calculada a partir da hora em que o primeiro byte da solicitação HTTP é recebido até a hora em que o último byte da resposta HTTP é enviado. É a soma do tempo de processamento do Gateway de Aplicativo e do custo de rede para o back-end, mais o tempo que o back-end leva para processar a solicitação.
Logs do Azure Monitor e tabelas do Log Analytics
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.
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 |
Tabelas de Logs do Azure Monitor
Esta seção lista todas as tabelas dos Logs do Azure Monitor relevantes para este serviço e disponíveis para consulta pela análise de logs usando o Kusto. As tabelas contêm dados de log de recursos e possivelmente mais, dependendo do que é coletado e roteado para elas.
Gateway de Aplicativo Microsoft.Network/applicationGateways
Logs de proxy TLS/TCP
O proxy de Camada 4 do Gateway de Aplicativo fornece dados de log por meio de logs de acesso. Esses logs só serão gerados e publicados se estiverem configurados nas configurações de diagnóstico do gateway. Confira também: Categorias com suporte para os logs de recursos do Azure Monitor.
Observação
As colunas com detalhes de Autenticação Mútua para um ouvinte do TLS estão disponíveis no momento apenas por meio da tabela AzureDiagnostics.
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 | Esse valor é MICROSOFT. NETWORK para gateway de aplicativo. |
Recurso | O nome do recurso do gateway de aplicativo. |
ResourceType | Esse valor é 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 (Independentemente de ser TCP ou TLS, o valor do protocolo é sempre TCP). |
sessionTime | Duração da sessão, em segundos (esse valor é para a 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 (esse valor é para a 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 – Os dados do cliente não puderam ser analisados. 500 – erro interno do servidor. 502 – gateway inválido. Por exemplo, quando um servidor upstream não pôde ser alcançado. 503 – serviço indisponível. Por exemplo, se o acesso estiver limitado pelo número de conexões. |
ResourceId | URI de recurso do Gateway de Aplicativo. |
Log de atividades
A tabela vinculada lista as operações que podem ser registradas no log de atividades desse serviço. Essas operações são um subconjunto de todas as operações do provedor de recursos possíveis no log de atividades.
Para obter mais informações sobre o esquema de entradas do log de atividades, confira Esquema do log de atividades.
Você pode usar os logs de atividades do Azure para exibir todas as operações enviadas à sua assinatura do Azure e seu status. As entradas de log de atividade são coletadas por padrão. Consulte-os no Portal do Azure. Os logs de atividades do Azure eram conhecidos anteriormente como logs operacionais e logs de auditoria.
O Azure gera logs de atividades por padrão. Os logs são preservados por 90 dias no armazenamento de logs de eventos do Azure. Saiba mais sobre esses logs lendo o artigo Exibir eventos e o log de atividades.
Conteúdo relacionado
- Consulte Monitorar o Gateway de Aplicativo do Azure para obter uma descrição do monitoramento do Gateway de Aplicativo.
- Confira Monitorar recursos do Azure com o Azure Monitor para ver informações detalhadas sobre o monitoramento dos recursos do Azure.