Todos os produtos
Search
Central de documentação

Microservices Engine:Enable log shipping for a cloud-native gateway

Última atualização: Aug 21, 2026

O envio de logs integra gateways nativos da cloud do MSE ao Alibaba Cloud Simple Log Service (SLS). Essa integração permite analisar logs de acesso do gateway para compreender o comportamento dos clientes, mapear a distribuição geográfica dos usuários e solucionar problemas. Este tópico descreve como ativar o envio de logs para um gateway nativo da cloud do MSE.

Pré-requisitos

Nota

O recurso de envio de logs é gratuito, mas as cobranças padrão do Simple Log Service (SLS) se aplicam conforme o uso. Para mais detalhes sobre o faturamento do SLS, consulte pay-as-you-go.

Ative o envio de logs

  1. Faça login no console do MSE. Na barra de navegação superior, selecione uma região.

  2. No painel de navegação à esquerda, escolha Cloud-native Gateway > Gateways. Na página Gateways, clique em ID do gateway.

  3. No painel de navegação à esquerda, clique em Parameter Settings. Na seção Observability Parameters, clique em ícone de edição 2 ao lado de Log Shipping. Na caixa de diálogo Log Shipping Settings, ative a chave Enable Log Shipping (Ship Gateway Access Logs to Log Service).

    Nota
    • Ao ativar o envio de logs, o Simple Log Service cria um projeto SLS padrão. Você também pode selecionar um projeto SLS existente.

    • Após ativar o Tracing Analysis, visualize dados de monitoramento do gateway no console do Tracing Analysis. Para mais informações, consulte Enable Tracing Analysis for a gateway.

    Com o envio de logs ativado, clique em link ao lado de Project na seção Observability Parameters. Essa ação redireciona você para o Logstore do gateway. Para mais informações, consulte Quick start for log query and analysis.

Solução de problemas: sem conteúdo nos logs de plug-in

Se o envio de logs estiver ativado, mas nenhum conteúdo aparecer ao consultar logs de plug-in, siga esta ordem de solução de problemas:

  1. Amplie o intervalo de tempo da consulta: Garanta que a janela de tempo cubra o momento em que as requisições ocorreram. O envio de logs do Simple Log Service (SLS) tem latência de segundos a minutos. Portanto, expanda a janela de tempo conforme necessário.

  2. Verifique se as requisições invocam o plug-in: Procure os registros correspondentes nos logs de acesso do gateway. Se não houver tais registros, as requisições nunca chegaram ao plug-in. Verifique a configuração de rota.

  3. Analise a lógica de saída de log no código do plug-in: Confirme se as requisições de negócio realmente alcançam as instruções de saída de log. Mesmo com o envio de logs funcionando corretamente, se ramificações condicionais no código impedirem a execução dessas instruções, os logs do plug-in ficarão vazios.

Campos de envio de logs

Nome do campo

Tipo

Descrição

__time__

long

Momento em que a entrada de log foi gerada.

cluster_id

string

ID da instância do gateway.

consumer

string

Consumidor da requisição. Este campo é preenchido apenas quando a autenticação de consumidor está ativada.

custom_log

json

Armazena campos de log definidos pelo usuário. Pode ser usado com plug-ins personalizados.

authority

string

Valor do cabeçalho Host na requisição.

bytes_received

long

Tamanho do corpo da requisição em bytes, excluindo cabeçalhos.

bytes_sent

long

Tamanho do corpo da resposta em bytes, excluindo cabeçalhos.

downstream_local_address

string

Endereço do pod do gateway.

downstream_remote_address

string

Endereço do cliente conectado ao gateway.

downstream_transport_failure_reason

string

Motivo de uma falha de transporte downstream.

duration

long

Tempo total de processamento da requisição em milissegundos, medido do primeiro byte recebido do cliente até o último byte enviado na resposta.

method

string

Método HTTP.

path

string

Caminho na requisição HTTP.

protocol

string

Versão do protocolo HTTP.

request_id

string

O gateway gera um ID para cada requisição e o inclui no cabeçalho x-request-id. O service de backend pode registrar esse ID para solução de problemas.

requested_server_name

string

Nome do servidor usado para a conexão SSL.

request_duration

long

Tempo em milissegundos desde o recebimento do primeiro byte até o último byte da requisição downstream pelo gateway.

response_code

long

Código de status da resposta HTTP.

response_code_details

string

Detalhes adicionais sobre o código de resposta. Por exemplo, via_upstream indica que o código foi retornado pelo service de backend, e route_not_found sinaliza que nenhuma rota correspondente foi encontrada para a requisição.

response_flags

string

Motivo de uma falha na resposta.

response_tx_duration

long

Tempo em milissegundos desde o recebimento do primeiro byte do service upstream até o envio do último byte para o cliente downstream pelo gateway.

route_name

string

Nome da rota.

start_time

string

Hora de início da requisição no formato UTC.

trace_id

string

Trace ID.

upstream_cluster

string

Cluster upstream.

upstream_host

string

Endereço ip do service upstream.

upstream_local_address

string

Endereço local usado para conectar ao service upstream.

upstream_protocol

string

Protocolo usado para solicitar o service de backend.

upstream_service_time

long

Tempo em milissegundos para o service upstream processar a requisição. Esta duração inclui a latência de rede e o tempo de processamento do próprio service.

upstream_transport_failure_reason

string

Motivo de uma falha de conexão upstream.

user_agent

string

Cabeçalho User-Agent na requisição HTTP.

x_forwarded_for

string

Valor do cabeçalho HTTP x-forwarded-for. Este cabeçalho geralmente indica o endereço ip real do cliente.

ext_authz_status_code

long

Código de resposta do service de autorização personalizado.

ext_authz_duration

long

Tempo de resposta do service de autorização personalizado.

Adicionar campos personalizados aos logs de acesso

Para registrar um campo personalizado, como Referer, nos logs de acesso, utilize o recurso de ajuste de formato de log para configurar um formato personalizado.

  1. Na página de detalhes do gateway, clique em Parameter Settings no painel de navegação à esquerda.

  2. Na seção Observability Parameters, localize Log Format Adjustment dentro de Log Shipping.

  3. Clique em Default Format (Click to Customize). Na caixa de diálogo exibida, clique em Add.

  4. Defina Field Type como Request Header e insira o valor do campo, por exemplo, Referer.

  5. Clique em OK para salve a configuração. O status mudará para Custom Format (Click to Edit).

Depois que a configuração entrar em vigor, as requisições que incluírem o cabeçalho Referer serão registradas, e o campo request_headers no log de acesso conterá o valor de Referer.

O ajuste de formato de log suporta os seguintes tipos de campo: cabeçalho de requisição, cabeçalho de resposta, metadados dinâmicos de requisição e metadados dinâmicos de resposta.

Response flags

O motivo de uma falha na requisição é determinado principalmente pelo valor de Response_Flag nos logs. A seguir, são descritos os diferentes valores de Response_Flag.

Nota

Neste contexto, downstream refere-se ao cliente, e upstream refere-se ao service de backend.

  • UH: Nenhum host upstream saudável está disponível no cluster.

  • UF: Falha na conexão upstream.

  • NR: Nenhuma rota configurada correspondeu à requisição. Quando isso ocorre (response_flags=NR e response_code_details=route_not_found), o response_code é 404, e tanto route_name quanto upstream_cluster aparecem como -. A requisição é rejeitada na camada do gateway e nunca chega ao service de backend. Portanto, valores vazios para upstream_cluster e todos os campos upstream_* são comportamentos esperados e não indicam problema na configuração do cluster upstream. Para resolver, verifique se existe uma rota configurada para o caminho da requisição.

  • URX: Requisição rejeitada porque o limite de tentativas upstream (HTTP) ou o número máximo de tentativas de conexão (TCP) foi atingido.

  • NC: Cluster upstream não encontrado.

  • DT: A requisição ou conexão excedeu max_connection_duration ou max_downstream_connection_duration.

  • DC: Conexão downstream encerrada.

  • LH: O service local falhou em uma verificação de integridade.

  • UT: Timeout na requisição upstream.

  • LR: Conexão redefinida localmente.

  • UR: Conexão upstream redefinida remotamente.

  • UC: Conexão upstream encerrada.

  • DI: Processamento da requisição atrasado pelo período especificado na injeção de falhas.

  • FI: Requisição abortada com um código de resposta especificado pela injeção de falhas.

  • RL: Requisição limitada localmente pelo filtro de limitação de taxa HTTP, excluindo respostas 429.

  • UAEX: Requisição rejeitada por um service de autorização externo.

  • RLSE: Requisição rejeitada devido a erro no service de limitação de taxa.

  • IH: Requisição rejeitada porque um cabeçalho com validação estrita continha um valor inválido.

  • SI: Timeout de ociosidade do stream atingido.

  • DPE: Erro de protocolo HTTP na requisição downstream.

  • UPE: Erro de protocolo HTTP na resposta upstream.

  • UMSDR: Requisição upstream atingiu sua duração máxima.

  • OM: Gerenciador de sobrecarga encerrou a requisição.

  • DF: Requisição encerrada devido a falha na resolução DNS.