Envoy-Zugriffslogs für Service Mesh

Anwendungen (Envoy-Sidecars), die beim Empfang von Anfragen Audit-Logs im Service Mesh generieren, haben das folgende Logformat.

JSON-Darstellung

{
  "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
}
Felder
bytes_sent

string

Die im Text gesendeten Bytes. Bei einer WebSocket-Verbindung sind auch die im Antwortheader gesendeten Byte enthalten. Beispiel: "46259"

x_forwarded_for

string

Die IP-Adressen, die von einer Anfrage vom Client an den Server besucht werden. Beispiel: "10.200.0.1"

severity_text

string

Informationen zum Schweregrad des Logeintrags. Möglicherweise ist der Wert leer.

observed_time_unix_nano

integer

Die UNIX-Epochenzeit in Nanosekunden der Erfassung des Logeintrags. Beispiel: 1668556781041333000

user_agent

string

Der Name der Software, die Web-Inhalte abruft, rendert und die Interaktion von Endnutzern mit den Web-Inhalten ermöglicht. Sie bezieht sich auch auf die Benutzeroberfläche, die mit Webtechnologien implementiert wurde. Beispiel: "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"

x_request_id

string

Die eindeutige ID einer einzelnen Anfrage. Beispiel: "a4cadca4-662f-4a9c-af63-39a5b3275d8b"

start_time

string

Die Startzeit der Anfrage bis auf die Millisekunde genau. Beispiel: "2022-11-15T23:59:41.041Z"

upstream_local_address

string

Die lokale Adresse der Upstream-Verbindung. Wenn es sich um eine IP-Adresse handelt, enthält sie die Adresse und den Port. Beispiel: "127.0.0.6:42179"

connection_termination_details

string

Zusätzliche Informationen dazu, warum Envoy die Verbindung beendet hat. Möglicherweise ist der Wert leer.

severity_number

integer

Der Schweregrad des Logeintrags. Beispiel: 0

resource

object

Die Attribute der Envoy-Ressource, die den Logeintrag erzeugt hat. Diese Attribute sind als Schlüssel/Wert-Paare im Objekt enthalten. Beispiel:

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

x_envoy_upstream_service_time

string

Die Zeit in Millisekunden, die der Upstream-Host für die Verarbeitung der Anfrage benötigt hat. Beispiel: "0"

response_code_details

string

Zusätzliche Informationen zum Antwortcode, z. B. wer ihn festgelegt hat (Upstream oder Envoy) und warum. Beispiel: "via_upstream"

upstream_host

string

Die URL des Upstream-Hosts. Beispiel: "10.253.132.163:80"

duration

string

Die Gesamtdauer der Anfrage in Millisekunden vom Startzeitpunkt bis zum letzten gesendeten Byte. Beispiel: "4"

upstream_cluster

string

Der Cluster, zu dem der Upstream-Host gehört. Beispiel: "inbound|80||"

upstream_transport_failure_reason

string

Wenn die Upstream-Verbindung aufgrund eines Transport-Sockets fehlschlägt, wird der Fehlergrund vom Transport-Socket angegeben. Das Format dieses Felds hängt vom konfigurierten Upstream-Transportsocket ab. Beispiel: "SSLV3_ALERT_CERTIFICATE_EXPIRED"

authority

string

Die Host- und Portinformationen aus der Ziel-URI. Beispiel: "console.zone1.google.gdch.test"

username

string

Die Nutzeridentität, die die Anfrage initiiert hat. Beispiel: "fop-cluster-admin@example.com"

protocol

string

Der Protokolltyp der Anfrage. Beispiel: "HTTP/1.1"

route_name

string

Der Name der Route. Beispiel: "default"

requested_server_name

string

Der Wert, der für die SNI-Erweiterung (Server Name Indication) für die SSL-Verbindungssocket festgelegt ist. Beispiel: "outbound_.80_._.fleet-admin-platform-admin-ui.gpc-system.svc.cluster.local"

method

string

Der Name der Methode. Beispiel: "GET"

time_unix_nano

integer

Die UNIX-Epochenzeit in Nanosekunden der Erfassung des Logeintrags. Beispiel: 1668556781041333000

bytes_received

string

Die im Text empfangenen Bytes. Beispiel: "0"

path

string

Der Pfad der HTTP-Anfrage. Beispiel: "/metrics"

response_flags

string

Falls vorhanden, zusätzliche Details zur Antwort oder Verbindung. Beispiel: "UH (no healthy upstream hosts)"

x_goog_api_client

string

Die API-Client-ID. Möglicherweise ist der Wert leer.

body

object

Der Anfragetext. Möglicherweise ist der Wert leer.

downstream_local_address

string

Die lokale Adresse der Downstream-Verbindung. Wenn es sich um eine IP-Adresse handelt, enthält sie die Adresse und den Port. Beispiel: "10.253.132.163:80"

downstream_remote_address

string

Die Remote-Adresse der Downstream-Verbindung. Wenn es sich um eine IP-Adresse handelt, enthält sie die Adresse und den Port. Beispiel: "10.200.0.1:0"

response_code

string

Der HTTP-Antwortcode.

Mögliche Werte:

  • "200" (Erfolg)
  • "403" (Verbotene Anfrage)
  • "500" (Fehler)