O envio de logs integra gateways nativos da nuvem 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 nuvem do MSE.
Pré-requisitos
Crie uma instância de gateway nativo da nuvem do MSE. Para mais informações, consulte Criar um gateway nativo da nuvem.
Ative o Simple Log Service. Caso ainda não esteja ativado, faça login no console do Simple Log Service com sua conta Alibaba Cloud para ativá-lo. Para mais informações, consulte O que é o Simple Log Service?.
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 informações sobre o faturamento do SLS, consulte pagamento conforme o uso.
Ativar o envio de logs
Faça login no console do MSE. Na barra de navegação superior, selecione uma região.
No painel de navegação à esquerda, escolha Cloud-native Gateway > Gateways. Na página Gateways, clique em ID do gateway.
-
No painel de navegação à esquerda, clique em Parameter Settings. Na seção Observability Parameters, clique em ícone de edição
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).NotaAo ativar o envio de logs, o Simple Log Service cria um projeto SLS padrão. Também é possível 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 Ativar o Tracing Analysis para um gateway.
Com o envio de logs ativado, clique em link ao lado de Project na seção Observability Parameters para acessar o Logstore do gateway. Para mais informações, consulte Guia de início rápido para consulta e análise de logs.
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. Preenchido apenas quando a autenticação de consumidor está ativada. |
|
custom_log |
json |
Armazena campos de log definidos pelo usuário. Compatível 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 da 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 |
ID gerado pelo gateway para cada requisição e incluído no cabeçalho |
|
requested_server_name |
string |
Nome do servidor usado para a conexão SSL. |
|
request_duration |
long |
Tempo em milissegundos entre o recebimento do primeiro byte e do ú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, |
|
response_flags |
string |
Motivo da falha de resposta. |
|
response_tx_duration |
long |
Tempo em milissegundos entre o recebimento do primeiro byte do serviço upstream pelo gateway e o envio do último byte para o cliente downstream. |
|
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 serviço upstream. |
|
upstream_local_address |
string |
Endereço local usado para conectar ao serviço upstream. |
|
upstream_protocol |
string |
Protocolo usado para requisitar o serviço de backend. |
|
upstream_service_time |
long |
Tempo em milissegundos para o serviço upstream processar a requisição. Inclui latência de rede e tempo de processamento do serviço. |
|
upstream_transport_failure_reason |
string |
Motivo da 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 |
|
ext_authz_status_code |
long |
Código de resposta do serviço de autorização personalizado. |
|
ext_authz_duration |
long |
Tempo de resposta do serviço de autorização personalizado. |
Response flags
O valor de Response_Flag nos logs determina principalmente o motivo da falha na requisição. A lista a seguir descreve os diferentes valores de Response_Flag.
Neste contexto, downstream refere-se ao cliente e upstream refere-se ao serviço de backend.
UH: Nenhum host upstream saudável disponível no cluster.
UF: Falha na conexão upstream.
NR: Nenhuma rota configurada correspondeu à 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_durationoumax_downstream_connection_duration.DC: Conexão downstream encerrada.
LH: O serviço local falhou em uma requisição de 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 por um período especificado pela 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 serviço de autorização externo.
RLSE: Requisição rejeitada devido a um erro no serviço de limitação de taxa.
IH: Requisição rejeitada porque um cabeçalho com verificação rigorosa 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 uma falha na resolução DNS.