Registros de acesso do Envoy do Service Mesh

Os aplicativos (sidecars do Envoy) que geram registros de auditoria na malha de serviço ao receber solicitações têm o seguinte formato de registro.

Representação JSON

{
  "bytes_sent": string,
  "x_forwarded_for": string,
  "severity_text": string,
  "observed_time_unix_nano": integer,
  "user_agent": string,
  "x_request_id": string,
  "start_time": string,
  "upstream_local_address": string,
  "connection_termination_details": string,
  "severity_number": integer,
  "resource": {
    object
  },
  "x_envoy_upstream_service_time": string,
  "response_code_details": string,
  "upstream_host": string,
  "duration": string,
  "upstream_cluster": string,
  "upstream_transport_failure_reason": string,
  "authority": string,
  "username": string,
  "protocol": string,
  "route_name": string,
  "requested_server_name": string,
  "method": string,
  "time_unix_nano": integer,
  "bytes_received": string,
  "path": string,
  "response_flags": string,
  "x_goog_api_client": string,
  "body": {
    object
  },
  "downstream_local_address": string,
  "downstream_remote_address": string,
  "response_code": string
}
Campos
bytes_sent

string

Os bytes enviados no corpo. Para uma conexão websocket, ele também inclui os bytes enviados no cabeçalho da resposta. Por exemplo, "46259".

x_forwarded_for

string

Os endereços IP visitados por uma solicitação do cliente para o servidor. Por exemplo, "10.200.0.1".

severity_text

string

Informações sobre o nível de gravidade da entrada de registro. Pode ser um valor vazio.

observed_time_unix_nano

integer

O tempo da época do UNIX em nanossegundos da coleta de entrada de registro. Por exemplo, 1668556781041333000.

user_agent

string

O nome do software que recupera, renderiza e facilita a interação do usuário final com o conteúdo da Web. Também se refere à interface do usuário implementada com tecnologias da Web. Por exemplo, "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0".

x_request_id

string

O ID exclusivo de uma única solicitação. Por exemplo, "a4cadca4-662f-4a9c-af63-39a5b3275d8b".

start_time

string

O horário de início da solicitação em milissegundos. Por exemplo, "2022-11-15T23:59:41.041Z".

upstream_local_address

string

O endereço local da conexão upstream. Se for um endereço IP, ele vai incluir o endereço e a porta. Por exemplo, "127.0.0.6:42179".

connection_termination_details

string

Informações adicionais sobre o motivo pelo qual o Envoy encerrou a conexão. Pode ser um valor vazio.

severity_number

integer

O nível de gravidade da entrada de registro. Por exemplo, 0.

resource

object

Os atributos do recurso do Envoy que produziu a entrada de registro. Esses atributos estão em pares de chave-valor no objeto. Por exemplo,

{
  "log_name": string,
  "cluster_name": string,
  "node_name": string,
  "zone_name": string
}

x_envoy_upstream_service_time

string

O tempo em milissegundos que o host upstream passou processando a solicitação. Por exemplo, "0".

response_code_details

string

Outras informações sobre o código de resposta, como quem o definiu (upstream ou Envoy) e por quê. Por exemplo, "via_upstream".

upstream_host

string

O URL do host upstream. Por exemplo, "10.253.132.163:80".

duration

string

Duração total em milissegundos da solicitação, do horário de início até o último byte. Por exemplo, "4".

upstream_cluster

string

O cluster a que o host upstream pertence. Por exemplo, "inbound|80||".

upstream_transport_failure_reason

string

Se a conexão upstream falhar devido a um soquete de transporte, ela vai fornecer o motivo da falha do soquete de transporte. O formato desse campo depende do soquete de transporte upstream configurado. Por exemplo, "SSLV3_ALERT_CERTIFICATE_EXPIRED".

authority

string

As informações de host e porta do URI de destino. Por exemplo, "console.zone1.google.gdch.test".

username

string

A identidade do usuário que iniciou a solicitação. Por exemplo, "fop-cluster-admin@example.com".

protocol

string

O tipo de protocolo da solicitação. Por exemplo, "HTTP/1.1".

route_name

string

O nome da rota. Por exemplo, "default".

requested_server_name

string

O valor definido no soquete de conexão SSL para indicação de nome do servidor (SNI). Por exemplo, "outbound_.80_._.fleet-admin-platform-admin-ui.gpc-system.svc.cluster.local".

method

string

O nome do método. Por exemplo, "GET".

time_unix_nano

integer

O tempo da época do UNIX em nanossegundos da coleta de entrada de registro. Por exemplo, 1668556781041333000.

bytes_received

string

Os bytes recebidos no corpo. Por exemplo, "0".

path

string

O caminho da solicitação HTTP. Por exemplo, "/metrics".

response_flags

string

Outros detalhes sobre a resposta ou conexão, se houver. Por exemplo, "UH (no healthy upstream hosts)".

x_goog_api_client

string

A identificação do cliente da API. Pode ser um valor vazio.

body

object

O corpo da solicitação. Pode ser um valor vazio.

downstream_local_address

string

O endereço local da conexão downstream. Se for um endereço IP, ele vai incluir o endereço e a porta. Por exemplo, "10.253.132.163:80".

downstream_remote_address

string

O endereço remoto da conexão downstream. Se for um endereço IP, ele vai incluir o endereço e a porta. Por exemplo, "10.200.0.1:0".

response_code

string

O código de resposta HTTP.

Valores possíveis:

  • "200" (Sucesso)
  • "403" (solicitação proibida)
  • "500" (Error)