Partilhar via


Logs de diagnóstico para o Application Gateway for Containers

Saiba como solucionar problemas comuns no Application Gateway for Containers.

Você pode monitorar os recursos do Gateway de Aplicativo do Azure para Contêineres das seguintes maneiras:

  • Logs: os logs permitem que o desempenho, o acesso e outros dados sejam salvos ou consumidos de um recurso para fins de monitoramento.

  • Métricas: o Application Gateway for Containers tem várias métricas que ajudam a verificar se o sistema está funcionando conforme o esperado.

Registos de diagnósticos

Você pode usar diferentes tipos de logs no Azure para gerenciar e solucionar problemas do Gateway de Aplicativo para Contêineres. Pode aceder a alguns destes registos através do portal. Todos os logs podem ser extraídos do armazenamento de Blob do Azure e exibidos em diferentes ferramentas, como logs do Azure Monitor, Excel e Power BI. Você pode saber mais sobre os diferentes tipos de logs na lista a seguir:

  • Log de atividades: você pode usar os logs de atividade do Azure (anteriormente conhecidos como logs operacionais e logs de auditoria) para exibir todas as operações enviadas à sua assinatura do Azure e seu status. As entradas de registos de atividades são recolhidas por predefinição e pode visualizá-las no portal do Azure.
  • Log de acesso: você pode usar esse log para exibir padrões de acesso do Application Gateway for Containers e analisar informações importantes. Isso inclui o IP do chamador, URL solicitado, latência de resposta, código de retorno e bytes de entrada e saída. Um log de acesso é coletado a cada 60 segundos. Os dados podem ser armazenados em uma conta de armazenamento especificada no momento da habilitação do registro.

Configurar log de acesso

O registo de atividades é ativado automaticamente para todos os recursos do Resource Manager. Você deve habilitar o log de acesso para começar a coletar os dados disponíveis por meio desses logs. Para habilitar o log, você pode definir configurações de diagnóstico no Azure Monitor.

Use as etapas a seguir para habilitar todo o registro em log em uma conta de armazenamento para o Gateway de Aplicativo para Contêineres usando o portal do Azure. Você deve ter uma conta de armazenamento disponível na mesma região do Application Gateway for Containers.

  1. Inicie sessão no portal do Azure com a sua conta do Azure.

  2. Em Pesquisar recursos, serviço e documentos, digite Application Gateways for Containers e selecione o nome do Application Gateway for Containers.

  3. Em Monitorização, selecione Definições de diagnóstico.

  4. Selecione Adicionar definição de diagnóstico.

  5. Insira um nome de configuração de diagnóstico (por exemplo, agfc-logs), escolha os logs e métricas para salvar e escolha um destino, como Arquivar em uma conta de armazenamento. Para salvar todos os logs, selecione allLogs e AllMetrics.

  6. Selecione Guardar para guardar as definições. Veja o seguinte exemplo:

    Configurar logs de diagnóstico

Nota

Depois de habilitar inicialmente os logs de diagnóstico, pode levar até uma hora até que os logs estejam disponíveis no destino selecionado.

Para obter mais informações e tutoriais de implantação do Azure Monitor, consulte Configurações de diagnóstico no Azure Monitor.

Formato de registo de acesso

Cada entrada de log de acesso no Application Gateway for Containers contém as seguintes informações.

valor Description
backendHost Endereço do destino de back-end com porta anexada. Por exemplo <, ip>:<port> 
backendIp O endereço IP do Application Gateway for Containers de destino de back-end faz o proxy da solicitação para. 
backendPort Número da porta do destino de back-end. 
backendResponseLatency Tempo em milissegundos para receber o primeiro byte do Application Gateway for Containers para o destino de back-end. 
backendTimeTaken Tempo em milissegundos para que a resposta seja transmitida do destino de back-end para o Application Gateway for Containers. 
clienteIp Endereço IP do cliente que inicia a solicitação para o frontend do Application Gateway for Containers
frontendName Nome do frontend do Application Gateway for Containers que recebeu a solicitação do cliente
frontendPort Número da porta em que a solicitação foi ouvida pelo Application Gateway for Containers
frontendTLSFailureReason Contém informações sobre por que a negociação TLS falhou. Comumente usado para entender solicitações de autenticação com falha para autenticação mútua de cliente
frontendTLSPeerFingerprint A impressão digital (impressão digital) do certificado apresentado por um cliente ao frontend do Application Gateway for Containers
Nome do host Valor do cabeçalho do host recebido do cliente pelo Application Gateway for Containers
httpMethod Método HTTP da solicitação recebida do cliente pelo Application Gateway for Containers de acordo com RFC 7231
httpStatusCode Código de status HTTP retornado do Application Gateway for Containers para o cliente
Versão http Versão HTTP da solicitação recebida do cliente pelo Application Gateway for Containers
referenciador Cabeçalho de referência da solicitação recebida do cliente pelo Application Gateway for Containers
requestBodyBytes Tamanho em bytes da carga útil do corpo da solicitação recebida do cliente pelo Application Gateway for Containers
requestHeaderBytes Tamanho em bytes dos cabeçalhos da solicitação recebida do cliente pelo Application Gateway for Containers
requestUri URI da solicitação recebida do cliente pelo Application Gateway for Containers (tudo após <protocol>://<host> da URL)
responseBodyBytes Tamanho em bytes da carga útil do corpo da resposta retornada ao cliente pelo Application Gateway for Containers
responseHeaderBytes Tamanho em bytes dos cabeçalhos da resposta retornada ao cliente pelo Application Gateway for Containers
timeTaken Tempo em milissegundos da solicitação do cliente recebida pelo Application Gateway for Containers e o último byte retornado ao cliente do Application Gateway for Containers
tlsCipher Conjunto de codificação TLS negociado entre o cliente e o frontend do Application Gateway for Containers
tlsProtocolo Versão TLS negociada entre o cliente e o frontend do Application Gateway for Containers
trackingId GUID gerado pelo Application Gateway for Containers para ajudar no rastreamento e depuração. Esse valor está correlacionado ao cabeçalho x-request-id retornado ao cliente do Application Gateway for Containers. 
userAgent Cabeçalho User-Agent da solicitação recebida do cliente pelo Application Gateway for Containers

Nota

Os valores dos parâmetros da cadeia de caracteres de consulta, como "secret", "password", "pwd", "passwd", "key", "token", "pat", "accesskey", "accesstoken", "credential", "sas", "personalAccessToken" e "personal.access.token" registrados no campo requestUri serão substituídos por um valor de editado <>para impedir que informações confidenciais sejam registradas. Isso não é configurável.

Aqui está um exemplo do log de acesso emitido no formato JSON para uma conta de armazenamento.

{
    "category": "TrafficControllerAccessLog",
    "operationName": "ReqRespLogs",
    "properties": {
        "backendHost": "10.1.0.15:80",
        "backendIp": "10.1.0.15",
        "backendPort": "80",
        "backendResponseLatency": "2",
        "backendTimeTaken": "-",
        "clientIp": "xxx.xxx.xxx.xxx:52526",
        "frontendName": "frontend-primary",
        "frontendPort": "443",
        "frontendTLSFailureReason": "-",
        "frontendTLSPeerFingerprint": "2c01bbc93009ad1fc977fe9115fae7ad298b665f",
        "hostName": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.fzXX.alb.azure.com",
        "httpMethod": "GET",
        "httpStatusCode": "200",
        "httpVersion": "HTTP\/1.1",
        "referer": "-",
        "requestBodyBytes": "0",
        "requestHeaderBytes": "223",
        "requestUri": "\/index.php",
        "responseBodyBytes": "91",
        "responseHeaderBytes": "190",
        "timeTaken": "2",
        "tlsCipher": "TLS_AES_256_GCM_SHA384",
        "tlsProtocol": "-",
        "trackingId": "0ef125db-7fb7-48a0-b3fe-03fe0ffed873",
        "userAgent": "curl\/7.81.0"
    },
    "resourceId": "/SUBSCRIPTIONS/XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX/RESOURCEGROUPS/YYYYYY/PROVIDERS/MICROSOFT.SERVICENETWORKING/TRAFFICCONTROLLERS/ZZZZZZZ",
    "time": "2023-07-22T06:26:58.895Z",
    "location": "northcentralus"
}