Service Mesh Envoy 存取記錄

應用程式 (Envoy Sidecar) 在服務網格上收到要求時產生稽核記錄,記錄格式如下。

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
}
欄位
bytes_sent

string

內文中傳送的位元組數。如果是 WebSocket 連線,則也包括回應標頭中傳送的位元組。例如 "46259"

x_forwarded_for

string

用戶端對伺服器發出要求時所造訪的 IP 位址。例如 "10.200.0.1"

severity_text

string

記錄項目的嚴重性等級相關資訊。這可能是空值。

observed_time_unix_nano

integer

記錄項目收集時間的 UNIX Epoch 紀元時間 (以奈秒為單位)。例如 1668556781041333000

user_agent

string

這個軟體會擷取、轉譯網頁內容,並協助使用者與網頁內容互動。也指使用網路技術實作的使用者介面。例如 "Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Firefox/102.0"

x_request_id

string

單一要求的專屬 ID。例如 "a4cadca4-662f-4a9c-af63-39a5b3275d8b"

start_time

string

要求開始時間,精確至毫秒。例如 "2022-11-15T23:59:41.041Z"

upstream_local_address

string

上游連線的本機位址。如果是 IP 位址,則包含位址和通訊埠。例如 "127.0.0.6:42179"

connection_termination_details

string

Envoy 終止連線的其他原因。這可能是空值。

severity_number

integer

記錄項目的嚴重性等級。例如 0

resource

object

產生記錄項目的 Envoy 資源屬性。這些屬性位於物件的鍵/值組合中。例如,假設使用者要求系統 將文字從英文翻譯成法文

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

x_envoy_upstream_service_time

string

上游主機處理要求所花的時間 (以毫秒為單位)。例如 "0"

response_code_details

string

回應代碼的額外資訊,例如設定者 (上游或 Envoy) 和原因。例如 "via_upstream"

upstream_host

string

上游主機的網址。例如 "10.253.132.163:80"

duration

string

從開始時間到最後一個位元組輸出為止,要求的總時間長度 (以毫秒為單位)。例如 "4"

upstream_cluster

string

上游主機所屬的叢集。例如 "inbound|80||"

upstream_transport_failure_reason

string

如果上游連線因傳輸通訊端而失敗,系統會提供傳輸通訊端的失敗原因。這個欄位的格式取決於設定的上游傳輸通訊端。例如 "SSLV3_ALERT_CERTIFICATE_EXPIRED"

authority

string

目標 URI 中的主機和通訊埠資訊。例如 "console.zone1.google.gdch.test"

username

string

發出要求的使用者身分。例如 "fop-cluster-admin@example.com"

protocol

string

要求的通訊協定類型。例如 "HTTP/1.1"

route_name

string

路線名稱。例如 "default"

requested_server_name

string

在安全資料傳輸層 (SSL) 連線通訊端上設定的伺服器名稱指示 (SNI) 值。例如 "outbound_.80_._.fleet-admin-platform-admin-ui.gpc-system.svc.cluster.local"

method

string

方法名稱。例如 "GET"

time_unix_nano

integer

記錄項目收集時間的 UNIX Epoch 紀元時間 (以奈秒為單位)。例如 1668556781041333000

bytes_received

string

主體中收到的位元組數。例如 "0"

path

string

HTTP 要求的路徑。例如 "/metrics"

response_flags

string

回應或連線的其他詳細資料 (如有)。例如 "UH (no healthy upstream hosts)"

x_goog_api_client

string

API 用戶端身分識別資訊。這可能是空值。

body

object

要求主體。這可能是空值。

downstream_local_address

string

下游連線的本機位址。如果是 IP 位址,則包含位址和通訊埠。例如 "10.253.132.163:80"

downstream_remote_address

string

下游連線的遠端位址。如果是 IP 位址,則包含位址和通訊埠。例如 "10.200.0.1:0"

response_code

string

HTTP 回應代碼。

可能的值包括:

  • "200" (成功)
  • "403" (禁止要求)
  • "500" (錯誤)