Integridade de back-end e logs de diagnóstico para o gateway de aplicativoBack-end health and diagnostic logs for Application Gateway

Você pode monitorar Aplicativo Azure recursos de gateway das seguintes maneiras:You can monitor Azure Application Gateway resources in the following ways:

  • Integridade do back-end: o Gateway de Aplicativo fornece a capacidade de monitorar a integridade dos servidores nos pools de back-end por meio do portal do Azure e do PowerShell.Back-end health: Application Gateway provides the capability to monitor the health of the servers in the back-end pools through the Azure portal and through PowerShell. Também é possível encontrar a integridade dos pools de back-end por meio dos logs de diagnóstico de desempenho.You can also find the health of the back-end pools through the performance diagnostic logs.

  • Logs: os logs permitem que o desempenho, o acesso e outros dados sejam salvos ou consumidos de um recurso para fins de monitoramento.Logs: Logs allow for performance, access, and other data to be saved or consumed from a resource for monitoring purposes.

  • Métricas: o gateway de aplicativo tem várias métricas que ajudam a verificar se o sistema está sendo executado conforme o esperado.Metrics: Application Gateway has several metrics which help you verify that your system is performing as expected.

Observação

Este artigo foi atualizado para usar o novo módulo Az do Azure PowerShell.This article has been updated to use the new Azure PowerShell Az module. Você ainda pode usar o módulo AzureRM, que continuará a receber as correções de bugs até pelo menos dezembro de 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Para saber mais sobre o novo módulo Az e a compatibilidade com o AzureRM, confira Apresentação do novo módulo Az do Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Para obter instruções de instalação do módulo Az, confira Instalar o Azure PowerShell.For Az module installation instructions, see Install Azure PowerShell.

Integridade do back-endBack-end health

O Gateway de Aplicativo fornece a capacidade de monitorar a integridade de membros individuais dos pools de back-end por meio do portal, do PowerShell e da CLI (interface de linha de comando).Application Gateway provides the capability to monitor the health of individual members of the back-end pools through the portal, PowerShell, and the command-line interface (CLI). Também é possível encontrar um resumo de integridade agregado dos pools de back-end por meio dos logs de diagnóstico de desempenho.You can also find an aggregated health summary of back-end pools through the performance diagnostic logs.

O relatório de integridade do back-end reflete o resultado da investigação de integridade do Gateway de Aplicativo nas instâncias de back-end.The back-end health report reflects the output of the Application Gateway health probe to the back-end instances. Quando a investigação é bem-sucedida e o back-end pode receber tráfego, ele é considerado íntegro.When probing is successful and the back end can receive traffic, it's considered healthy. Caso contrário, ele é considerado não íntegro.Otherwise, it's considered unhealthy.

Importante

Se houver um NSG (grupo de segurança de rede) em uma sub-rede de gateway de aplicativo, abra os intervalos de porta 65503-65534 para SKUs v1 e 65200-65535 para SKUs v2 na sub-rede do gateway de aplicativo para o tráfego de entrada.If there is a network security group (NSG) on an Application Gateway subnet, open port ranges 65503-65534 for v1 SKUs, and 65200-65535 for v2 SKUs on the Application Gateway subnet for inbound traffic. Esse intervalo de porta é necessário para a comunicação da infraestrutura do Azure.This port range is required for Azure infrastructure communication. Elas são protegidas (bloqueadas) por certificados do Azure.They are protected (locked down) by Azure certificates. Sem os certificados apropriados, as entidades externas, incluindo os clientes desses gateways, não poderão iniciar nenhuma alteração nesses pontos de extremidade.Without proper certificates, external entities, including the customers of those gateways, will not be able to initiate any changes on those endpoints.

Exibir a integridade do back-end por meio do portalView back-end health through the portal

No portal, a integridade do back-end é fornecida automaticamente.In the portal, back-end health is provided automatically. Em um gateway de aplicativo existente, selecione monitoramento > integridade de back-end.In an existing application gateway, select Monitoring > Backend health.

Cada membro no pool de back-end é listado nesta página (seja uma NIC, um IP ou um FQDN).Each member in the back-end pool is listed on this page (whether it's a NIC, IP, or FQDN). São mostrados o nome do pool de back-end, a porta, as configurações de HTTP do back-end e o status de integridade.Back-end pool name, port, back-end HTTP settings name, and health status are shown. Os valores válidos para o status de integridade são íntegros, não íntegros e desconhecidos.Valid values for health status are Healthy, Unhealthy, and Unknown.

Observação

Se o status Desconhecido de integridade do back-end for exibido, verifique se o acesso ao back-end não está bloqueado por uma regra do NSG, uma UDR (rota definida pelo usuário) ou um DNS personalizado na rede virtual.If you see a back-end health status of Unknown, ensure that access to the back end is not blocked by an NSG rule, a user-defined route (UDR), or a custom DNS in the virtual network.

Integridade do back-end

Exibir a integridade do back-end por meio do PowerShellView back-end health through PowerShell

O seguinte código do PowerShell mostra como exibir a integridade do back-end usando o cmdlet Get-AzApplicationGatewayBackendHealth:The following PowerShell code shows how to view back-end health by using the Get-AzApplicationGatewayBackendHealth cmdlet:

Get-AzApplicationGatewayBackendHealth -Name ApplicationGateway1 -ResourceGroupName Contoso

Exibir a integridade do back-end por meio da CLI do AzureView back-end health through Azure CLI

az network application-gateway show-backend-health --resource-group AdatumAppGatewayRG --name AdatumAppGateway

ResultadosResults

O seguinte snippet mostra um exemplo da resposta:The following snippet shows an example of the response:

{
"BackendAddressPool": {
    "Id": "/subscriptions/00000000-0000-0000-000000000000/resourceGroups/ContosoRG/providers/Microsoft.Network/applicationGateways/applicationGateway1/backendAddressPools/appGatewayBackendPool"
},
"BackendHttpSettingsCollection": [
    {
    "BackendHttpSettings": {
        "Id": "/00000000-0000-0000-000000000000/resourceGroups/ContosoRG/providers/Microsoft.Network/applicationGateways/applicationGateway1/backendHttpSettingsCollection/appGatewayBackendHttpSettings"
    },
    "Servers": [
        {
        "Address": "hostname.westus.cloudapp.azure.com",
        "Health": "Healthy"
        },
        {
        "Address": "hostname.westus.cloudapp.azure.com",
        "Health": "Healthy"
        }
    ]
    }
]
}

Logs de diagnósticoDiagnostic logs

Você pode usar tipos diferentes de logs no Azure para gerenciar e solucionar problemas de gateways de aplicativo.You can use different types of logs in Azure to manage and troubleshoot application gateways. Você pode acessar alguns desses logs por meio do portal.You can access some of these logs through the portal. Todos os logs podem ser extraídos de um Armazenamento de blobs do Azure e exibidos em diferentes ferramentas, como logs do Azure Monitor, Excel e Power BI.All logs can be extracted from Azure Blob storage and viewed in different tools, such as Azure Monitor logs, Excel, and Power BI. Saiba mais sobre os tipos diferentes de logs na lista a seguir:You can learn more about the different types of logs from the following list:

  • Log de atividades: 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.Activity log: You can use Azure activity logs (formerly known as operational logs and audit logs) to view all operations that are submitted to your Azure subscription, and their status. As entradas do log de atividades são coletadas por padrão e podem ser exibidas no portal do Azure.Activity log entries are collected by default, and you can view them in the Azure portal.
  • Log de acesso: você pode usar esse log para exibir padrões de acesso do gateway de aplicativo e analisar informações importantes.Access log: You can use this log to view Application Gateway access patterns and analyze important information. Isso inclui 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.This includes the caller's IP, requested URL, response latency, return code, and bytes in and out. An access log is collected every 60 seconds. Esse log contém um registro por instância do Gateway de Aplicativo.This log contains one record per instance of Application Gateway. A instância do Gateway de Aplicativo é identificada pela propriedade instanceId.The Application Gateway instance is identified by the instanceId property.
  • Log de desempenho: você pode usar esse log para exibir o desempenho das instâncias do Gateway de Aplicativo.Performance log: You can use this log to view how Application Gateway instances are performing. 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.This log captures performance information for each instance, including total requests served, throughput in bytes, total requests served, failed request count, and healthy and unhealthy back-end instance count. Um log de desempenho é coletado a cada 60 segundos.A performance log is collected every 60 seconds. O log de desempenho está disponível apenas para a SKU v1.The Performance log is available only for the v1 SKU. Para a SKU v2, use métricas para dados de desempenho.For the v2 SKU, use Metrics for performance data.
  • Logs 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.Firewall log: You can use this log to view the requests that are logged through either detection or prevention mode of an application gateway that is configured with the web application firewall. Os logs de firewall são coletados a cada 60 segundos.Firewall logs are collected every 60 seconds.

Observação

Os logs estão disponíveis apenas para os recursos implantados no modelo de implantação do Azure Resource Manager.Logs are available only for resources deployed in the Azure Resource Manager deployment model. Você não pode usar logs para recursos do modelo de implantação clássico.You cannot use logs for resources in the classic deployment model. Para obter um melhor entendimento dos dois modelos, consulte o artigo Noções básicas sobre a implantação do Resource Manager e a implantação clássica.For a better understanding of the two models, see the Understanding Resource Manager deployment and classic deployment article.

Você tem três opções para armazenar os logs:You have three options for storing your logs:

  • Conta de armazenamento: as contas de armazenamento são mais adequadas para os logs quando eles são armazenados por mais tempo e examinados quando necessário.Storage account: Storage accounts are best used for logs when logs are stored for a longer duration and reviewed when needed.
  • Hubs de eventos: os hubs de eventos são uma ótima opção para integração com outras ferramentas de Siem (gerenciamento de eventos e informações de segurança) para obter alertas sobre seus recursos.Event hubs: Event hubs are a great option for integrating with other security information and event management (SIEM) tools to get alerts on your resources.
  • Logs de Azure monitor: os logs de Azure monitor são mais bem usados para o monitoramento geral em tempo real de seu aplicativo ou a análise de tendências.Azure Monitor logs: Azure Monitor logs is best used for general real-time monitoring of your application or looking at trends.

Habilitar o log por meio do PowerShellEnable logging through PowerShell

O log de atividade é habilitado automaticamente para todos os recursos do Resource Manager.Activity logging is automatically enabled for every Resource Manager resource. Você deve habilitar o log de acesso e de desempenho para começar a coletar os dados disponíveis por meio desses logs.You must enable access and performance logging to start collecting the data available through those logs. Para habilitar o log, use as seguintes etapas:To enable logging, use the following steps:

  1. Anote a ID do recurso da conta de armazenamento, na qual os dados de log são armazenados.Note your storage account's resource ID, where the log data is stored. Esse valor está no formato:/subscriptions/ <subscriptionId> /ResourceGroups/ <resource group name> /Providers/Microsoft.Storage/storageAccounts/ <storage account name> .This value is of the form: /subscriptions/<subscriptionId>/resourceGroups/<resource group name>/providers/Microsoft.Storage/storageAccounts/<storage account name>. Use qualquer conta de armazenamento em sua assinatura.You can use any storage account in your subscription. Use o portal do Azure para encontrar essas informações.You can use the Azure portal to find this information.

    Portal: ID do recurso da conta de armazenamento

  2. Anote a ID do Recurso do gateway de aplicativo para o qual o log está habilitado.Note your application gateway's resource ID for which logging is enabled. Esse valor está no formato:/subscriptions/ <subscriptionId> /ResourceGroups/ <resource group name> /Providers/Microsoft.Network/applicationGateways/ <application gateway name> .This value is of the form: /subscriptions/<subscriptionId>/resourceGroups/<resource group name>/providers/Microsoft.Network/applicationGateways/<application gateway name>. Use o portal para encontrar essas informações.You can use the portal to find this information.

    Portal: ID do recurso do gateway de aplicativo

  3. Habilite o log de diagnóstico usando o seguinte cmdlet do PowerShell:Enable diagnostic logging by using the following PowerShell cmdlet:

    Set-AzDiagnosticSetting  -ResourceId /subscriptions/<subscriptionId>/resourceGroups/<resource group name>/providers/Microsoft.Network/applicationGateways/<application gateway name> -StorageAccountId /subscriptions/<subscriptionId>/resourceGroups/<resource group name>/providers/Microsoft.Storage/storageAccounts/<storage account name> -Enabled $true     
    

Dica

Os logs de atividades não exigem uma conta de armazenamento separada.Activity logs do not require a separate storage account. O uso do armazenamento para logs de acesso e de desempenho gera encargos de serviço.The use of storage for access and performance logging incurs service charges.

Habilitar o log por meio do portal do AzureEnable logging through the Azure portal

  1. No portal do Azure, localize o recurso e selecione configurações de diagnóstico.In the Azure portal, find your resource and select Diagnostic settings.

    Para o Gateway de Aplicativo, três logs estão disponíveis:For Application Gateway, three logs are available:

    • Log de acessoAccess log
    • Log de desempenhoPerformance log
    • Log de firewallFirewall log
  2. Para começar a coletar dados, selecione Ativar diagnóstico.To start collecting data, select Turn on diagnostics.

    Ativando o diagnóstico

  3. A página Configurações de diagnóstico fornece as configurações dos logs de diagnóstico.The Diagnostics settings page provides the settings for the diagnostic logs. Neste exemplo, o Log Analytics armazena os logs.In this example, Log Analytics stores the logs. Você também pode usar os hubs de eventos e uma conta de armazenamento para salvar os logs de diagnóstico.You can also use event hubs and a storage account to save the diagnostic logs.

    Iniciando o processo de configuração

  4. Digite um nome para as configurações, confirme as configurações e selecione salvar.Type a name for the settings, confirm the settings, and select Save.

Log de atividadesActivity log

O Azure gera o log de atividades por padrão.Azure generates the activity log by default. Os logs são preservados por 90 dias no armazenamento de logs de eventos do Azure.The logs are preserved for 90 days in the Azure event logs store. Saiba mais sobre esses logs lendo o artigo Exibir eventos e o log de atividades.Learn more about these logs by reading the View events and activity log article.

Log de acessoAccess log

O log de acesso é gerado apenas se você o habilitou em cada instância do Gateway de Aplicativo, conforme detalhado nas etapas anteriores.The access log is generated only if you've enabled it on each Application Gateway instance, as detailed in the preceding steps. Os dados são armazenados na conta de armazenamento especificada quando o log foi habilitado.The data is stored in the storage account that you specified when you enabled the logging. Cada acesso do gateway de aplicativo é registrado no formato JSON, conforme mostrado abaixo.Each access of Application Gateway is logged in JSON format as shown below.

Para o gateway de aplicativo Standard e WAF SKU (v1)For Application Gateway Standard and WAF SKU (v1)

ValorValue DescriçãoDescription
instanceIdinstanceId Instância do Gateway de Aplicativo que atendeu à solicitação.Application Gateway instance that served the request.
clientIPclientIP IP de origem da solicitação.Originating IP for the request.
clientPortclientPort Porta de origem da solicitação.Originating port for the request.
httpMethodhttpMethod Método HTTP usado pela solicitação.HTTP method used by the request.
requestUrirequestUri URI da solicitação recebida.URI of the received request.
RequestQueryRequestQuery Server-Routed: instância do pool de back-end que recebeu a solicitação.Server-Routed: Back-end pool instance that was sent the request.
X-AzureApplicationGateway-LOG-ID: ID de Correlação usada para a solicitação.X-AzureApplicationGateway-LOG-ID: Correlation ID used for the request. Ela pode ser usada para solucionar problemas de tráfego nos servidores back-end.It can be used to troubleshoot traffic issues on the back-end servers.
SERVER-STATUS: código de resposta HTTP que o Gateway de Aplicativo recebeu do back-end.SERVER-STATUS: HTTP response code that Application Gateway received from the back end.
UserAgentUserAgent Agente do usuário do cabeçalho da solicitação HTTP.User agent from the HTTP request header.
httpStatushttpStatus Código de status HTTP retornado ao cliente do Gateway de Aplicativo.HTTP status code returned to the client from Application Gateway.
httpVersionhttpVersion Versão HTTP da solicitação.HTTP version of the request.
receivedBytesreceivedBytes Tamanho do pacote recebido, em bytes.Size of packet received, in bytes.
sentBytessentBytes Tamanho do pacote enviado, em bytes.Size of packet sent, in bytes.
timeTakentimeTaken Duração (em milissegundos) necessária para que uma solicitação seja processada e sua resposta seja enviada.Length of time (in milliseconds) that it takes for a request to be processed and its response to be sent. Isso é calculado como 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.This is calculated as the interval from the time when Application Gateway receives the first byte of an HTTP request to the time when the response send operation finishes. É 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.It's important to note that the Time-Taken field usually includes the time that the request and response packets are traveling over the network.
sslEnabledsslEnabled Se a comunicação com os pools de back-end usavam TLS/SSL.Whether communication to the back-end pools used TLS/SSL. Os valores válidos são ativado e desativado.Valid values are on and off.
hosthost O nome do host com o qual a solicitação foi enviada para o servidor de back-end.The hostname with which the request has been sent to the backend server. Se o nome de host de back-end estiver sendo substituído, este deverá refletir isso.If backend hostname is being overridden, this name will reflect that.
originalHostoriginalHost O nome do host com o qual a solicitação foi recebida pelo gateway de aplicativo do cliente.The hostname with which the request was received by the Application Gateway from the client.
{
    "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": "191.96.249.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=874f1f0f-6807-41c9-b7bc-f3cfa74aa0b1&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"
    }
}

Para o gateway de aplicativo e o SKU WAF v2For Application Gateway and WAF v2 SKU

ValorValue DescriçãoDescription
instanceIdinstanceId Instância do Gateway de Aplicativo que atendeu à solicitação.Application Gateway instance that served the request.
clientIPclientIP IP de origem da solicitação.Originating IP for the request.
httpMethodhttpMethod Método HTTP usado pela solicitação.HTTP method used by the request.
requestUrirequestUri URI da solicitação recebida.URI of the received request.
UserAgentUserAgent Agente do usuário do cabeçalho da solicitação HTTP.User agent from the HTTP request header.
httpStatushttpStatus Código de status HTTP retornado ao cliente do Gateway de Aplicativo.HTTP status code returned to the client from Application Gateway.
httpVersionhttpVersion Versão HTTP da solicitação.HTTP version of the request.
receivedBytesreceivedBytes Tamanho do pacote recebido, em bytes.Size of packet received, in bytes.
sentBytessentBytes Tamanho do pacote enviado, em bytes.Size of packet sent, in bytes.
timeTakentimeTaken Período de tempo (em segundos) necessário para que uma solicitação seja processada e sua resposta seja enviada.Length of time (in seconds) that it takes for a request to be processed and its response to be sent. Isso é calculado como 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.This is calculated as the interval from the time when Application Gateway receives the first byte of an HTTP request to the time when the response send operation finishes. É 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.It's important to note that the Time-Taken field usually includes the time that the request and response packets are traveling over the network.
sslEnabledsslEnabled Se a comunicação com os pools de back-end usava o TLS.Whether communication to the back-end pools used TLS. Os valores válidos são ativado e desativado.Valid values are on and off.
sslCiphersslCipher Conjunto de codificação que está sendo usado para comunicação TLS (se o TLS estiver habilitado).Cipher suite being used for TLS communication (if TLS is enabled).
sslProtocolsslProtocol Protocolo SSL/TLS que está sendo usado (se o TLS estiver habilitado).SSL/TLS protocol being used (if TLS is enabled).
serverRoutedserverRouted O servidor back-end para o qual o gateway de aplicativo roteia a solicitação.The backend server that application gateway routes the request to.
serverStatusserverStatus Código de status HTTP do servidor de back-end.HTTP status code of the backend server.
serverResponseLatencyserverResponseLatency Latência da resposta do servidor de back-end.Latency of the response from the backend server.
hosthost Endereço listado no cabeçalho do host da solicitação.Address listed in the host header of the request. Se reescrito usando a reescrita de cabeçalho, esse campo conterá o nome de host atualizadoIf rewritten using header rewrite, this field contains the updated host name
originalRequestUriWithArgsoriginalRequestUriWithArgs Este campo contém a URL de solicitação originalThis field contains the original request URL
requestUrirequestUri Este campo contém a URL após a operação de regravação no gateway de aplicativoThis field contains the URL after the rewrite operation on Application Gateway
originalHostoriginalHost Este campo contém o nome do host de solicitação originalThis field contains the original request host name
{
    "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/PEERINGTEST/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
    "operationName": "ApplicationGatewayAccess",
    "time": "2017-04-26T19:27:38Z",
    "category": "ApplicationGatewayAccessLog",
    "properties": {
        "instanceId": "appgw_1",
        "clientIP": "191.96.249.97",
        "httpMethod": "GET",
        "requestUri": "/phpmyadmin/scripts/setup.php",
        "userAgent": "-",
        "httpStatus": 404,
        "httpVersion": "HTTP/1.0",
        "receivedBytes": 65,
        "sentBytes": 553,
        "timeTaken": 205,
        "sslEnabled": "off",
        "sslCipher": "",
        "sslProtocol": "",
        "serverRouted": "104.41.114.59:80",
        "serverStatus": "200",
        "serverResponseLatency": "0.023",
        "host": "www.contoso.com",
    }
}

Log de desempenhoPerformance log

O log de desempenho é gerado apenas se você o habilitou em cada instância do Gateway de Aplicativo, conforme detalhado nas etapas anteriores.The performance log is generated only if you have enabled it on each Application Gateway instance, as detailed in the preceding steps. Os dados são armazenados na conta de armazenamento especificada quando o log foi habilitado.The data is stored in the storage account that you specified when you enabled the logging. Os dados do log de desempenho são gerados em intervalos de 1 minuto.The performance log data is generated in 1-minute intervals. Ele está disponível apenas para a SKU v1.It is available only for the v1 SKU. Para a SKU v2, use métricas para dados de desempenho.For the v2 SKU, use Metrics for performance data. Os seguintes dados são registrados em log:The following data is logged:

ValorValue DescriçãoDescription
instanceIdinstanceId Instância do Gateway de Aplicativo para a qual os dados de desempenho estão sendo gerados.Application Gateway instance for which performance data is being generated. Para um gateway de aplicativo de várias instâncias, há uma linha por instância.For a multiple-instance application gateway, there is one row per instance.
healthyHostCounthealthyHostCount Número de hosts íntegros no pool de back-end.Number of healthy hosts in the back-end pool.
unHealthyHostCountunHealthyHostCount Número de hosts não íntegros no pool de back-end.Number of unhealthy hosts in the back-end pool.
requestCountrequestCount Número de solicitações atendidas.Number of requests served.
latêncialatency Latência média (em milissegundos) de solicitações da instância para o back-end que atende às solicitações.Average latency (in milliseconds) of requests from the instance to the back end that serves the requests.
failedRequestCountfailedRequestCount Número de solicitações com falha.Number of failed requests.
throughputthroughput Vazão de dados média desde o último log, medida em bytes por segundo.Average throughput since the last log, measured in bytes per second.
{
    "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.Latency is calculated from the time when the first byte of the HTTP request is received to the time when the last byte of the HTTP response is sent. É 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.It's the sum of the Application Gateway processing time plus the network cost to the back end, plus the time that the back end takes to process the request.

Log de firewallFirewall log

O log de firewall é gerado apenas se você o habilitou em cada gateway de aplicativo, conforme detalhado nas etapas anteriores.The firewall log is generated only if you have enabled it for each application gateway, as detailed in the preceding steps. Esse log também exige a configuração de um firewall de aplicativo Web em um gateway de aplicativo.This log also requires that the web application firewall is configured on an application gateway. Os dados são armazenados na conta de armazenamento especificada quando o log foi habilitado.The data is stored in the storage account that you specified when you enabled the logging. Os seguintes dados são registrados em log:The following data is logged:

ValorValue DescriçãoDescription
instanceIdinstanceId Instância do Gateway de Aplicativo para a qual os dados de firewall estão sendo gerados.Application Gateway instance for which firewall data is being generated. Para um gateway de aplicativo de várias instâncias, há uma linha por instância.For a multiple-instance application gateway, there is one row per instance.
clientIpclientIp IP de origem da solicitação.Originating IP for the request.
clientPortclientPort Porta de origem da solicitação.Originating port for the request.
requestUrirequestUri URL da solicitação recebida.URL of the received request.
ruleSetTyperuleSetType Tipo de conjunto de regras.Rule set type. O valor disponível é OWASP.The available value is OWASP.
ruleSetVersionruleSetVersion Versão utilizada do conjunto de regras.Rule set version used. Os valores disponíveis são 2.2.9 e 3.0.Available values are 2.2.9 and 3.0.
ruleIdruleId ID da Regra do evento de gatilho.Rule ID of the triggering event.
messagemessage Mensagem amigável para o evento de gatilho.User-friendly message for the triggering event. Mais detalhes são fornecidos na seção de detalhes.More details are provided in the details section.
açãoaction Ação executada na solicitação.Action taken on the request. Os valores disponíveis são MATCHED e blocked.Available values are Matched and Blocked.
sitesite Site para o qual o log foi gerado.Site for which the log was generated. No momento, somente Global é listado porque as regras são globais.Currently, only Global is listed because rules are global.
detalhesdetails Detalhes do evento de gatilho.Details of the triggering event.
details.messagedetails.message Descrição da regra.Description of the rule.
details.datadetails.data Dados específicos encontrados na solicitação que corresponderam à regra.Specific data found in request that matched the rule.
details.filedetails.file Arquivo de configuração que continha a regra.Configuration file that contained the rule.
details.linedetails.line Número de linha no arquivo de configuração que disparou o evento.Line number in the configuration file that triggered the event.
hostnamehostname Nome do host ou endereço IP do gateway de aplicativo.Hostname or IP address of the Application Gateway.
transactionIdtransactionId ID exclusiva para uma determinada transação que ajuda a agrupar várias violações de regra que ocorreram na mesma solicitação.Unique ID for a given transaction which helps group multiple rule violations that occurred within the same request.
{
  "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
  "operationName": "ApplicationGatewayFirewall",
  "time": "2017-03-20T15:52:09.1494499Z",
  "category": "ApplicationGatewayFirewallLog",
  "properties": {
    "instanceId": "ApplicationGatewayRole_IN_0",
    "clientIp": "104.210.252.3",
    "clientPort": "4835",
    "requestUri": "/?a=%3Cscript%3Ealert(%22Hello%22);%3C/script%3E",
    "ruleSetType": "OWASP",
    "ruleSetVersion": "3.0",
    "ruleId": "941320",
    "message": "Possible XSS Attack Detected - HTML Tag Handler",
    "action": "Blocked",
    "site": "Global",
    "details": {
      "message": "Warning. Pattern match \"<(a|abbr|acronym|address|applet|area|audioscope|b|base|basefront|bdo|bgsound|big|blackface|blink|blockquote|body|bq|br|button|caption|center|cite|code|col|colgroup|comment|dd|del|dfn|dir|div|dl|dt|em|embed|fieldset|fn|font|form|frame|frameset|h1|head|h ...\" at ARGS:a.",
      "data": "Matched Data: <script> found within ARGS:a: <script>alert(\\x22hello\\x22);</script>",
      "file": "rules/REQUEST-941-APPLICATION-ATTACK-XSS.conf",
      "line": "865"
    }
    "hostname": "40.90.218.100",
    "transactionId": "AYAcUqAcAcAcAcAcASAcAcAc"
  }
}

Exibir e analisar o log de atividadesView and analyze the activity log

Você pode exibir e analisar os dados do log de atividades usando um dos seguintes métodos:You can view and analyze activity log data by using any of the following methods:

  • Ferramentas do Azure: recupere informações do log de atividades por meio do Azure PowerShell, da CLI do Azure, da API REST do Azure ou do portal do Azure.Azure tools: Retrieve information from the activity log through Azure PowerShell, the Azure CLI, the Azure REST API, or the Azure portal. As instruções passo a passo para cada método são detalhadas no artigo Activity operations with Resource Manager (Operações de atividade com o Resource Manager).Step-by-step instructions for each method are detailed in the Activity operations with Resource Manager article.
  • Power BI: se ainda não tiver uma conta do Power BI, experimente uma gratuitamente.Power BI: If you don't already have a Power BI account, you can try it for free. Usando os aplicativos de modelo de Power bi, você pode analisar seus dados.By using the Power BI template apps, you can analyze your data.

Exibir e analisar os logs de acesso, de desempenho e de firewallView and analyze the access, performance, and firewall logs

Os logs do Azure Monitor podem coletar os arquivos de log de contadores e eventos de sua conta de Armazenamento de blobs.Azure Monitor logs can collect the counter and event log files from your Blob storage account. Ele inclui visualizações e funcionalidades de pesquisa avançadas para analisar os logs.It includes visualizations and powerful search capabilities to analyze your logs.

Você também pode se conectar à sua conta de armazenamento e recuperar as entradas de log JSON para logs de desempenho e acesso.You can also connect to your storage account and retrieve the JSON log entries for access and performance logs. Depois de baixar os arquivos JSON, você pode convertê-los em CSV e exibi-los no Excel, no Power BI ou em qualquer outra ferramenta de visualização de dados.After you download the JSON files, you can convert them to CSV and view them in Excel, Power BI, or any other data-visualization tool.

Dica

Se estiver familiarizado com o Visual Studio e os conceitos básicos de alteração de valores de constantes e variáveis em C#, você poderá usar as ferramentas de conversor de log disponíveis no GitHub.If you are familiar with Visual Studio and basic concepts of changing values for constants and variables in C#, you can use the log converter tools available from GitHub.

Analisar logs de acesso por meio do GoAccessAnalyzing Access logs through GoAccess

Publicamos um modelo do Resource Manager que instala e executa o popular analisador de logs GoAccess para logs de acesso do Gateway de Aplicativo.We have published a Resource Manager template that installs and runs the popular GoAccess log analyzer for Application Gateway Access Logs. O GoAccess fornece valiosas estatísticas de tráfego HTTP, tais como visitantes exclusivos, arquivos solicitados, hosts, sistemas operacionais, navegadores, códigos de status HTTP e muito mais.GoAccess provides valuable HTTP traffic statistics such as Unique Visitors, Requested Files, Hosts, Operating Systems, Browsers, HTTP Status codes and more. Para obter mais detalhes, consulte o arquivo Leiame na pasta de modelo do Resource Manager no GitHub.For more details, please see the Readme file in the Resource Manager template folder in GitHub.

Próximas etapasNext steps