Logs de diagnóstico do Gateway de Aplicativos para contêineres
Saiba como solucionar problemas comuns no Gateway de Aplicativos para contêineres.
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 Gateway de Aplicativos para contêineres tem várias métricas que ajudam a verificar se o sistema está funcionando conforme o esperado.
Logs de diagnóstico
Você pode usar diferentes tipos de logs no Azure para gerenciar e solucionar problemas do Gateway de Aplicativo para Contêineres. Você pode acessar alguns desses logs por meio do 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. Saiba mais sobre os tipos diferentes de logs na lista a seguir:
- 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. As entradas do log de atividades são coletadas por padrão e podem ser exibidas no portal do Azure.
- Log de acesso: você pode usar esse log para exibir padrões de acesso do Gateway de Aplicativos para contêineres e analisar informações importantes. 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. Os dados podem ser armazenados em uma conta de armazenamento especificada no momento da habilitação do log.
Configurar log de acesso
O log de atividade é habilitado 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 todos os logs 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 que o Gateway de Aplicativos para contêineres.
Entre no portal do Azure com sua conta do Azure.
Em Recursos de pesquisa, serviço e documentos, digite Gateways de aplicativo para contêineres e selecione o nome do gateway de aplicativo para contêineres.
Em Monitoramento, selecione Configurações de diagnóstico.
Selecione Adicionar configuração de diagnóstico.
Insira um Nome da configuração de diagnóstico (por exemplo, agfc-logs), escolha os logs e as métricas a serem salvos e escolha um destino, como Arquivar em uma conta de armazenamento. Para salvar todos os logs, selecione allLogs e AllMetrics.
Selecione salvar para salvar suas configurações. Consulte o seguinte exemplo:
Observação
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 log de acesso
Cada entrada de log de acesso no Gateway de Aplicativos para contêineres contém as seguintes informações.
Valor | Descrição |
---|---|
backendHost | Endereço do destino de back-end com porta anexada. Por exemplo, <ip>:<port> |
backendIp | O endereço IP do Gateway de Aplicativo para Contêineres de destino de back-end faz proxy da solicitação. |
backendPort | Número da porta do destino de back-end. |
backendResponseLatency | Tempo em milissegundos para receber o primeiro byte do Gateway de Aplicativos para contêineres para o destino do back-end. |
backendTimeTaken | Tempo em milissegundos para que a resposta seja transmitida do destino de back-end para o Gateway de Aplicativos para contêineres. |
clientIp | Endereço IP do cliente que inicia a solicitação para o front-end do Gateway de Aplicativos para contêineres |
frontendName | Nome do front-end do Gateway de Aplicativos para contêineres que recebeu a solicitação do cliente |
frontendPort | Número da porta em que a solicitação foi ouvida pelo Gateway de Aplicativos para contêineres |
frontendTLSFailureReason | Contém informações sobre por que a negociação do TLS falhou. Comumente usado para entender solicitações de autenticação com falha para autenticação mútua do cliente |
frontendTLSPeerFingerprint | A impressão digital (impressão digital) do certificado apresentado por um cliente ao front-end do Gateway de Aplicativo para Contêineres |
hostName | Valor do cabeçalho de host recebido do cliente pelo Gateway de Aplicativos para contêineres |
httpMethod | Método HTTP da solicitação recebida do cliente pelo Gateway de Aplicativos para contêineres conforme RFC 7231. |
httpStatusCode | Código de status HTTP retornado do Gateway de Aplicativos para contêineres para o cliente |
httpVersion | Versão HTTP da solicitação recebida do cliente pelo Gateway de Aplicativos para contêineres |
referrer | Cabeçalho de referência da solicitação recebida do cliente pelo Gateway de Aplicativos para contêineres |
requestBodyBytes | Tamanho em bytes da carga útil do corpo da solicitação recebida do cliente pelo Gateway de Aplicativos para contêineres |
requestHeaderBytes | Tamanho em bytes dos cabeçalhos da solicitação recebida do cliente pelo Gateway de Aplicativos para contêineres |
requestUri | URI da solicitação recebida do cliente pelo Gateway de Aplicativos para contêineres (tudo após <protocol>://<host> da URL) |
responseBodyBytes | Tamanho em bytes da carga útil do corpo da resposta retornada ao cliente pelo Gateway de Aplicativos para contêineres |
responseHeaderBytes | Tamanho em bytes dos cabeçalhos da resposta retornada ao cliente pelo Gateway de Aplicativos para contêineres |
timeTaken | Tempo em milissegundos da solicitação do cliente recebida pelo Gateway de Aplicativos para contêineres e o último byte retornado ao cliente do Gateway de Aplicativos para contêineres |
tlsCipher | Conjunto de codificação TLS negociado entre o cliente e o frontend do Gateway de Aplicativos para contêineres |
tlsProtocol | Versão TLS negociada entre o cliente e o frontend do Gateway de Aplicativos para contêineres |
trackingId | Guid gerado pelo Gateway de Aplicativos para contêineres para ajudar no rastreamento e depuração. Esse valor se correlaciona ao cabeçalho x-request-id retornado ao cliente do Gateway de Aplicativos para contêineres. |
userAgent | Cabeçalho User-Agent da solicitação recebida do cliente pelo Gateway de Aplicativos para contêineres |
Observação
Os valores de parâmetro de 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 <redacted> para impedir que informações confidenciais sejam registradas. Isso não é configurável.
Aqui 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"
}