Registos de acesso do Envoy da malha de serviço

As aplicações (Envoy sidecars) que geram registos de auditoria na malha de serviços após a receção de pedidos têm o seguinte formato de registo.

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 ligação WebSocket, também inclui os bytes enviados no cabeçalho da resposta. Por exemplo, "46259"

x_forwarded_for

string

Os endereços IP visitados por um pedido do cliente ao servidor. Por exemplo, "10.200.0.1"

severity_text

string

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

observed_time_unix_nano

integer

A data/hora epoch Unix em nanosegundos da recolha da entrada do registo. Por exemplo, 1668556781041333000

user_agent

string

O nome do software que obtém, renderiza e facilita a interação do utilizador final com o conteúdo Web. Também se refere à interface do utilizador implementada através de tecnologias 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 um único pedido. Por exemplo, "a4cadca4-662f-4a9c-af63-39a5b3275d8b"

start_time

string

A hora de início do pedido até milissegundos. Por exemplo, "2022-11-15T23:59:41.041Z"

upstream_local_address

string

A morada local da ligação a montante. Se for um endereço IP, inclui 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 terminou a ligação. Pode ser um valor vazio.

severity_number

integer

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

resource

object

Os atributos do recurso do Envoy que produziu a entrada do registo. Estes 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 anfitrião a montante gastou a processar o pedido. Por exemplo, "0"

response_code_details

string

Informações adicionais sobre o código de resposta, como quem o definiu (o upstream ou o Envoy) e porquê. Por exemplo, "via_upstream"

upstream_host

string

O URL do anfitrião a montante. Por exemplo, "10.253.132.163:80"

duration

string

Duração total em milissegundos do pedido desde a hora de início até ao último byte enviado. Por exemplo, "4"

upstream_cluster

string

O cluster ao qual o anfitrião a montante pertence. Por exemplo, "inbound|80||"

upstream_transport_failure_reason

string

Se a ligação a montante falhar devido a um soquete de transporte, apresenta o motivo da falha do soquete de transporte. O formato deste campo depende da porta de comunicação de transporte a montante configurada. Por exemplo, "SSLV3_ALERT_CERTIFICATE_EXPIRED"

authority

string

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

username

string

A identidade do utilizador que iniciou o pedido. Por exemplo, "fop-cluster-admin@example.com"

protocol

string

O tipo de protocolo do pedido. Por exemplo, "HTTP/1.1"

route_name

string

O nome do trajeto. Por exemplo, "default"

requested_server_name

string

O valor definido no soquete de ligação SSL para a Indicação do 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

A data/hora epoch Unix em nanosegundos da recolha da entrada do registo. Por exemplo, 1668556781041333000

bytes_received

string

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

path

string

O caminho do pedido HTTP. Por exemplo, "/metrics"

response_flags

string

Detalhes adicionais sobre a resposta ou a ligação, se existirem. Por exemplo, "UH (no healthy upstream hosts)"

x_goog_api_client

string

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

body

object

O corpo do pedido. Pode ser um valor vazio.

downstream_local_address

string

A morada local da ligação a jusante. Se for um endereço IP, inclui o endereço e a porta. Por exemplo, "10.253.132.163:80"

downstream_remote_address

string

O endereço remoto da ligação a jusante. Se for um endereço IP, inclui 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" (Êxito)
  • "403" (Pedido proibido)
  • "500" (Erro)