關於虛擬私有雲流量記錄檔記錄

本頁面說明虛擬私有雲流量記錄檔的記錄格式,包括可用的基本和中繼資料欄位。此外,本文也會說明如何使用記錄篩選功能,只產生符合特定條件的記錄。

記錄格式

記錄包含做為每個記錄核心欄位的幾個基礎欄位,以及用來新增其他資訊的中繼資料欄位。您可能會省略中繼資料欄位,以節省儲存費用。

某些記錄欄位採用多欄位格式,也就是指定欄位會包含多項資料。舉例來說,connection 欄位採用 IpConnection 格式,其中包含來源和目的地 IP 位址與通訊埠,以及通訊協定,全都在單一欄位中。以下記錄格式表說明這些多欄位格式的欄位。

中繼資料欄位的值並非根據資料平面路徑計算,而是近似值,因此可能遺漏或不正確。與中繼資料欄位不同,基本欄位的值直接取自封包標頭。

欄位 欄位格式 欄位類型:基本或選填中繼資料
連結 IpConnection
描述流程的 5 元組。
基本
reporter 字串
回報流量的一端:
  • 如果是 VM 和無伺服器端點,檢舉者可以是 SRC 或 DEST。
  • 如果是閘道 (例如 Cloud Interconnect 的 VLAN 連結和 Cloud VPN 通道),回報者可以是 SRC_GATEWAY 或 DEST_GATEWAY。
基本
connection_direction 字串
相對於回報者的 TCP 連線方向。

如果啟用 TCP 連線記錄,且在彙整間隔期間觀察到外送 SYN 或 SYN-ACK 封包,系統就會為 VM 和無伺服器端點填入這個欄位。如果連線跨越多個匯總間隔,則只有在擷取 SYN 或 SYN-ACK 的間隔,才會填入這個欄位。

可以是下列任一值:

  • EGRESS:檢舉者傳送 SYN 封包 (reporter 為 SRC),藉此啟動 TCP 連線。
  • INGRESS:回報者傳送 SYN-ACK 封包 (reporter 為 DEST),回應傳入的 SYN 封包。
基本
round_trip_time 延遲時間
在匯總間隔期間測得的 RTT,以毫秒為單位,精確度小於 1 毫秒。這個欄位會填入 TCP (適用於 VM 和無伺服器端點) 和 Falcon 流量:
  • 如果是 TCP 流量,測得的延遲時間是指從傳送 SEQ 到收到相應 ACK 之間經過的時間。
  • 如果是 Falcon 流量,延遲時間就是硬體測量的 RTT。

不會填入:

  • 當 TCP 連線記錄 記錄連線事件,但沒有樣本資料封包時
  • 捨棄的流量 (disposition=DROPPED)
基本
rtt_msec int64
在匯總間隔期間測量的封包往返時間 (RTT),以毫秒為單位。這個欄位會填入下列資訊:
  • 僅針對 TCP 流量測量
  • 適用於 VM 和無伺服器端點
  • 不會填入:
    • VLAN 連結和 Cloud VPN 通道
    • 當 TCP 連線記錄記錄連線事件,但沒有樣本資料封包時
    • 捨棄的流量 (disposition=DROPPED)

測得的 RTT 是指從傳送 SEQ 到收到相應 ACK 所經過的時間。

基本
bytes_sent int64
從來源傳送至目的地的使用者酬載位元組估計數量。1 如果封包沒有使用者酬載,值為零。2 如果流量遭到捨棄 (disposition=DROPPED),或TCP 連線記錄記錄的連線事件沒有樣本資料封包,則不會填入這個值。
基本
packets_sent int64
從來源傳送至目的地的預估封包數。1 如果流量遭到捨棄 (disposition=DROPPED),或 TCP 連線記錄記錄的連線事件沒有樣本資料封包,則不會填入這個值。
基本
start_time 字串
採用 RFC 3339 日期字串格式的時間戳記,標記了在匯總時間間隔內發現第一個封包的時間點。
基本
end_time string
採用 RFC 3339 日期字串格式的時間戳記,標記了在匯總時間間隔內發現最後一個封包的時間點。
基本
disposition 字串
只有在記錄檔記錄封包捨棄事件時,才會填入這個值。這個欄位設為 DROPPED。
基本
drop_reason 字串
僅在記錄有 disposition=DROPPED 時填入。 詳情請參閱「封包捨棄註解」和「封包捨棄原因」。
基本
bytes_dropped int64
從來源到目的地之間,預估使用者酬載位元組數的下降幅度。僅適用於具有 disposition=DROPPED 的記錄。
基本
packets_dropped int64
從來源到目的地之間預計捨棄的封包數。 僅適用於含有 disposition=DROPPED 的記錄。
基本
throughput_inclusion 字串
僅在記錄有 disposition=DROPPED 時填入。 指出是否在同一位回報者為流程回報的 bytes_sent 和 packets_sent 欄位中,計入捨棄的流量 (INCLUDED) 或排除捨棄的流量 (EXCLUDED)。
基本
來源和目的地中繼資料欄位
src_gateway GatewayDetails
如果流量來源是透過閘道 (例如 Cloud Interconnect 的 VLAN 連結或 Cloud VPN 通道) 連線的 Google Cloud 地端部署或其他雲端端點,且符合下列任一條件,這個欄位就會填入閘道詳細資料:
  • 來源閘道是流量的回報者。
  • 流程目的地為檢舉者,且符合下列任一條件:
    • 來源閘道與流程目的地位於相同專案。
    • 虛擬私有雲流量記錄是在組織層級設定,且未停用跨專案註解。3
中繼資料
dest_gateway GatewayDetails
如果流量目的地是透過閘道 (例如 Cloud Interconnect 的 VLAN 連結或 Cloud VPN 通道) 連線的 Google Cloud 地端部署或其他雲端端點,且符合下列任一條件,這個欄位就會填入閘道詳細資料:
  • 目的地閘道是流量的報告者。
  • 流程來源為檢舉人,且符合下列任一條件:
    • 目的地閘道與流程來源位於相同專案。
    • 虛擬私有雲流量記錄是在組織層級設定,且未停用跨專案註解。3
中繼資料
src_gke_details GkeDetails
如果流程來源是 Google Kubernetes Engine (GKE) 端點, 這個欄位會填入 GKE 端點詳細資料。
中繼資料
dest_gke_details GkeDetails
如果流量的目的地是 GKE 端點,這個欄位會填入 GKE 端點詳細資料。
中繼資料
src_google_service GoogleServiceDetails
如果流量來源是 Google 服務,這個欄位會填入服務詳細資料。
中繼資料
dest_google_service GoogleServiceDetails
如果流量目的地為 Google 服務,這個欄位會填入服務詳細資料。
中繼資料
src_instance InstanceDetails
如果流量來源是位於虛擬私有雲網路中的 VM,且符合下列任一條件,這個欄位會填入 VM 執行個體詳細資料:
  • 來源 VM 是流程的報告者。
  • 流程目的地為檢舉者,且符合下列任一條件:
    • 來源 VM 或來源 VM 所連線的虛擬私有雲網路,與流程目的地位於同一個專案。
    • 虛擬私有雲流量記錄是在組織層級設定,且未停用跨專案註解。3
中繼資料
dest_instance InstanceDetails
如果流量目的地是位於虛擬私有雲網路中的 VM,且符合下列任一條件,這個欄位就會填入 VM 執行個體詳細資料。
  • 目的地 VM 是流程的報告者。
  • 流程來源為檢舉人,且符合下列任一條件:
    • 目的地 VM 或目的地 VM 所連線的虛擬私有雲網路,與流量來源位於同一個專案。
    • 虛擬私有雲流量記錄是在組織層級設定,且未停用跨專案註解。3
中繼資料
src_location GeographicDetails
如果流量來源是虛擬私有雲網路外部的公開 IP 位址,這個欄位會填入可用的地點中繼資料。
中繼資料
dest_location GeographicDetails
如果流程目的地是虛擬私有雲網路外部的公用 IP 位址,這個欄位會填入可用的地點中繼資料。
中繼資料
src_serverless_details ServerlessDetails
如果流量來源是無伺服器端點,例如設定直接虛擬私有雲輸出的 Cloud Run 或 App Engine 資源,這個欄位會填入無伺服器中繼資料。
中繼資料
dest_serverless_details ServerlessDetails
如果流量目的地是無伺服器端點,例如設定直連虛擬私有雲輸出的 Cloud Run 或 App Engine 資源,這個欄位會填入無伺服器中繼資料。
中繼資料
src_psc_interface PrivateServiceConnectInterfaceDetails
如果流量來源是 Private Service Connect 介面,這個欄位會填入 Private Service Connect 介面詳細資料,且來源和目的地都會在消費者專案中回報。
中繼資料
dest_psc_interface PrivateServiceConnectInterfaceDetails
如果流量目的地是 Private Service Connect 介面,這個欄位會填入 Private Service Connect 介面詳細資料,並由來源和目的地回報至消費者專案。
中繼資料
src_vpc VpcDetails
如果流量來源是位於虛擬私有雲網路中的 VM 或無伺服器端點,且符合下列任一條件,這個欄位會填入虛擬私有雲網路的詳細資料:
  • 來源資源是流程的檢舉者。
  • 流程目的地為檢舉人,且符合下列任一條件:
    • 來源資源或來源資源所連結的虛擬私有雲網路,與流程目的地位於同一個專案。
    • 虛擬私有雲流量記錄是在組織層級設定,且未停用跨專案註解。3
中繼資料
dest_vpc VpcDetails
如果流量目的地是位於虛擬私有雲網路中的 VM 或無伺服器端點,且符合下列任一條件,這個欄位會填入虛擬私有雲網路的詳細資料:
  • 目的地資源是流程的檢舉者。
  • 流程來源為檢舉人,且符合下列任一條件:
    • 目的地資源或目的地資源所附加的虛擬私有雲網路,與流量來源位於相同專案。
    • 虛擬私有雲流量記錄是在組織層級設定,且未停用跨專案註解。3
中繼資料
其他中繼資料欄位
internet_routing_details InternetRoutingDetails
如果流量介於 Google Cloud 和網際網路之間, 這個欄位會填入轉送詳細資料。僅適用於輸出流量。
中繼資料
load_balancing LoadBalancingDetails
如果流量會經過下列其中一種設定的負載平衡器,這個欄位就會填入 Cloud Load Balancing 詳細資料:
  • 流量的回報端是負載平衡器的用戶端,負載平衡器類型為 APPLICATION_LOAD_BALANCER、PROXY_NETWORK_LOAD_BALANCER、PASSTHROUGH_NETWORK_LOAD_BALANCER 或 PROTOCOL_FORWARDING。
  • 流量回報端是負載平衡器的後端,且負載平衡器類型為 PASSTHROUGH_NETWORK_LOAD_BALANCER 或 PROTOCOL_FORWARDING。
中繼資料
network_service NetworkServiceDetails
如果已設定區分服務代碼點 (DSCP) 標頭, 這個欄位會填入網路服務詳細資料。
中繼資料
psc PrivateServiceConnectDetails
如果流量與 Private Service Connect 連線 (包括透過 Network Connectivity Center 傳播的連線) 相關聯,且符合下列任一條件,這個欄位就會填入 Private Service Connect 詳細資料:
  • 流程的檢舉人是消費者,並使用 Private Service Connect 端點,目標是已發布的服務或全域 Google API。
  • 流量的報告者是生產者,並使用內部直通式網路負載平衡器或內部通訊協定轉送。
中繼資料
rdma_traffic_type string
RDMA 流量的類型。系統會填入 VM 之間的 GPU 對 GPU 流量。 可以是 GPUDirect-TCPXO、Falcon 或 RoCE。
中繼資料
1 預估總數是根據取樣封包計算而得。為獲得最佳準確度,請匯總較長時段或多個資源的記錄。如要進一步瞭解準確度和取樣,請參閱「虛擬私有雲流量記錄:瞭解位元組和封包計數」 和「記錄檔取樣與處理」。
2 如果是 Falcon 流量,系統會以不同方式計算來源和目的地的傳送位元組值:
  • 如果來源 VM 是回報者,回報的位元組值是傳送的使用者酬載位元組和封包標頭位元組的總和。即使封包未包含任何使用者酬載,這個值一律會大於零。
  • 如果目的地 VM 是回報者,回報的位元組值就是使用者酬載位元組,這些位元組會收到並轉送至應用程式層。如果封包沒有使用者有效負載,位元組值為零。
3 如果虛擬私有雲流量記錄檔是在組織層級設定,根據預設,跨專案流量的記錄檔記錄會包含流量兩端的詳細資料。透過 Shared VPC、虛擬私有雲網路對等互連和 Network Connectivity Center,即可為流程提供跨專案註解。詳情請參閱「跨專案註解」。

GatewayDetails 欄位格式

欄位 類型 說明
project_id 字串 閘道的Google Cloud 專案 ID
位置 字串 閘道區域
名稱 字串 閘道名稱
類型 字串 閘道類型。可以是 INTERCONNECT_ATTACHMENT 或 VPN_TUNNEL。
虛擬私人雲端 VpcDetails 閘道的虛擬私有雲網路詳細資料
interconnect_name 字串 如果閘道類型為 INTERCONNECT_ATTACHMENT,這個欄位會填入設定 VLAN 連結的 Cloud Interconnect 連線名稱。
interconnect_project_number int64 如果閘道類型為 INTERCONNECT_ATTACHMENT,這個欄位會填入設定 VLAN 連結的 Cloud Interconnect 連線 Google Cloud 專案編號。

GeographicDetails 欄位格式

欄位 類型 說明
asn int32 這個端點所屬外部網路的 ASN
城市 字串 外部端點所在的城市
continent 字串 外部端點所在的洲別
country 字串 外部端點的國家/地區,以 ISO 3166-1 Alpha-3 國家/地區代碼表示
區域 字串 外部端點的區域

GkeDetails 欄位格式

欄位 類型 說明
叢集 ClusterDetails GKE 叢集中繼資料
Pod PodDetails GKE Pod 中繼資料,會在流量來源或目的地為 Pod 時填入
服務 ServiceDetails GKE 服務中繼資料,僅在服務端點中填入。記錄最多可包含兩項服務。如有兩個以上的相關服務,這個欄位會顯示單一服務,並附上特殊 MANY_SERVICES 標記。

ClusterDetails 欄位格式

欄位 類型 說明
cluster_location 字串 叢集位置。視叢集是可用區或區域而定,這可以是可用區或區域。
cluster_name 字串 GKE 叢集名稱。

PodDetails 欄位格式

欄位 類型 說明
pod_name 字串 Pod 名稱
pod_namespace 字串 Pod 的命名空間
工作負載 WorkloadDetails 控制 Pod 的頂層工作負載資源相關中繼資料
WorkloadDetails 欄位格式
欄位 類型 說明
workload_name 字串 頂層工作負載控制器的名稱
workload_type 字串 頂層工作負載控制器的類型。可能的值為 DEPLOYMENT、REPLICA_SET、STATEFUL_SET、DAEMON_SET、JOB、CRON_JOB 或 REPLICATION_CONTROLLER。

ServiceDetails 欄位格式

欄位 類型 說明
service_name 字串 服務名稱。如果相關服務超過兩項,系統會將該欄位設為特殊 MANY_SERVICES 標記。
service_namespace 字串 服務的命名空間

範例:

如果服務有兩項,服務欄位會如下所示:

service: [
 0: {
  service_name: "my-lb-service"
  service_namespace: "default"
 }
 1: {
  service_name: "my-lb-service2"
  service_namespace: "default"
 }
]

如果服務超過兩項,「服務」欄位會如下所示:

service: [
 0: {
  service_name: "MANY_SERVICES"
 }
]

GoogleServiceDetails 欄位格式

欄位 類型 說明
類型 字串

服務類型,可以是 GOOGLE_API 或 GOOGLE_VPC_HOSTED_SERVICE:

service_name 字串

服務名稱。例如:pubsub.googleapis.com。

限制:

  • 如果對 Google API 的要求超過 60 秒才完成,服務名稱可能會遺失。
  • 如果 VM 或閘道使用相同的 5 元組連線至多項服務,記錄檔記錄中只會隨機選取其中一項服務的名稱。
連線能力 字串

存取方法。如果是 GOOGLE_API 類型,連線欄位可以是下列任一項:

  • PUBLIC_IP,如果 API 是從具有外部 IP 位址的 VM 存取
  • PRIVATE_GOOGLE_ACCESS 或 DIRECT_CONNECTIVITY (如果透過 Private Google Access 存取 API)
  • PRIVATE_SERVICE_CONNECT_FOR_GOOGLE_APIS, 如果 API 是透過 Private Service Connect 端點存取

如果是 GOOGLE_VPC_HOSTED_SERVICE 類型,連線欄位可以是下列任一項:

  • PUBLIC_IP,前提是服務是透過公開 IP 連線存取
  • PRIVATE_SERVICES_ACCESS,前提是透過私人服務連線存取服務
  • PRIVATE_SERVICE_CONNECT_ENDPOINT 或 PRIVATE_SERVICE_CONNECT_INTERFACE,前提是服務是透過 Private Service Connect 存取
private_domain 字串

私有網域或 Private Service Connect API 套件。private_domain 欄位可以是下列任一項:

  • 如要使用 PRIVATE_GOOGLE_ACCESS 存取方法: private.googleapis.com 或 restricted.googleapis.com
  • 如要使用 DIRECT_CONNECTIVITY 存取方法: restricted.googleapis.com
  • 適用於 PRIVATE_SERVICE_CONNECT_FOR_GOOGLE_APIS 存取方法:all-apis 或 vpc-sc

InstanceDetails 欄位格式

欄位 類型 說明
project_id 字串 Google Cloud 包含 VM 資源的專案 ID
區域 字串 VM 所在區域
vm_name 字串 VM 的執行個體名稱
儲存區 字串 VM 的可用區
managed_instance_group InstanceGroupDetails 如果 VM 是代管執行個體群組的一部分,這個欄位會填入執行個體群組詳細資料。

InstanceGroupDetails 欄位格式

欄位 類型 說明
名稱 字串 執行個體群組名稱
區域 字串 如果執行個體群組是區域性的,這個欄位會填入執行個體群組的區域。
儲存區 字串 如果執行個體群組位於單一可用區,這個欄位會填入執行個體群組的可用區。

InternetRoutingDetails 欄位格式

欄位 類型 說明
egress_as_path AsPath 相關 AS 路徑清單。如果流程有多個 AS 路徑可用,這個欄位可能包含多個 AS 路徑。

AsPath 欄位格式

欄位 類型 說明
as_details AsDetails AS 路徑中所有系統的 AS 詳細資料清單。這份清單從 Google Cloud網路外部的第一個 AS 開始,到遠端 IP 位址所屬的 AS 結束。

AsDetails 欄位格式

欄位 類型 說明
asn uint32 AS 的自治系統編號 (ASN)

IpConnection 欄位格式

欄位 類型 說明
src_ip 字串 來源 IP 位址。所有流程都會填入這項資訊。
dest_ip 字串 目標 IP 位址。所有流程都會填入這項資訊。
src_port int32 來源通訊埠:
  • 針對 TCP 和 UDP 流量填入
  • 不適用於 ICMP、ESP、GRE 和 RDMA 流程
dest_port int32 目的地通訊埠:
  • 針對 TCP 和 UDP 流量填入
  • 不適用於 ICMP、ESP、GRE 和 RDMA 流程
通訊協定 int32 IANA 通訊協定號碼:
  • 針對 TCP、UDP、ICMP、ESP 和 GRE 流量填入
  • 不會填入 RDMA 流程

延遲時間欄位格式

欄位 類型 說明
median_msec 雙精度值 在彙整間隔內測得的中位數延遲 (以毫秒為單位)。

LoadBalancingDetails 欄位格式

欄位 類型 說明
forwarding_rule_project_id 字串 轉送規則的Google Cloud 專案 ID
reporter 字串 Cloud Load Balancing 記者。可以是 CLIENT 或 BACKEND。
  • 如果流量的回報端是負載平衡器的用戶端,這個欄位會設為 CLIENT。
  • 如果流量的回報端是負載平衡器的後端,這個欄位會設為 BACKEND。
類型 字串 負載平衡器類型。可以是 APPLICATION_LOAD_BALANCER、PROXY_NETWORK_LOAD_BALANCER、PASSTHROUGH_NETWORK_LOAD_BALANCER 或 PROTOCOL_FORWARDING。
配置 字串 負載平衡器架構。可以是 EXTERNAL_MANAGED、INTERNAL_MANAGED、EXTERNAL、INTERNAL 或 INTERNAL_SELF_MANAGED。
url_map_name 字串 網址對應名稱。如果負載平衡器類型為 APPLICATION_LOAD_BALANCER,系統就會填入這個欄位。
forwarding_rule_name 字串 轉送規則名稱
backend_service_name 字串 後端服務的名稱。如果回報端為 BACKEND,且負載平衡器類型為 PASSTHROUGH_NETWORK_LOAD_BALANCER,系統就會填入這個欄位。如果後端群組類型為 TARGET_POOL,系統就不會填入這個欄位。
backend_service_project_id 字串 後端服務的專案 ID。 如果回報端是 BACKEND,且負載平衡器類型為 PASSTHROUGH_NETWORK_LOAD_BALANCER,系統就會填入這個欄位。如果後端群組類型為 TARGET_POOL,系統就不會填入這個欄位。
backend_group_name 字串 後端群組的名稱。如果回報端為 BACKEND,且負載平衡器類型為 PASSTHROUGH_NETWORK_LOAD_BALANCER,系統就會填入這個欄位。
backend_group_type 字串 後端群組的類型。可以是 INSTANCE_GROUP、 NETWORK_ENDPOINT_GROUP 或 TARGET_POOL。 如果回報端是 BACKEND,且負載平衡器類型為 PASSTHROUGH_NETWORK_LOAD_BALANCER,系統就會填入這個欄位。
backend_group_location 字串 後端群組的位置。視後端群組的範圍是可用區或區域而定,可以是可用區或區域。如果回報端是 BACKEND,且負載平衡器類型為 PASSTHROUGH_NETWORK_LOAD_BALANCER,系統就會填入這個欄位。如果後端群組類型為 TARGET_POOL,系統就不會填入這個欄位。
虛擬私人雲端 VpcDetails 負載平衡器的虛擬私有雲網路詳細資料

NetworkServiceDetails 欄位格式

欄位 類型 說明
dscp int32 如果封包標頭有 Differentiated Services 欄位,這個欄位會填入 DSCP 值。

封包捨棄原因

下表說明 SRC 或 SRC_GATEWAY 回報時,drop_reason 欄位支援的值。

捨棄原因 說明
FIREWALL_DENY

由於系統評估輸出防火牆規則,且其動作為 deny,因此傳出流量遭到捨棄。

建議:如要允許這類流量,請調整防火牆規則。

NO_MATCHING_ROUTE

傳出流量遭到捨棄,因為沒有與目的地相符的路由。

建議:在 Google Cloud 控制台使用「有效路徑」部分,查看虛擬私有雲網路中的路徑。您也可以建立及執行Connectivity Tests。

QUEUE_OVERFLOW

主機的封包處理軟體超出 CPU 容量,因此捨棄輸出流量。

建議:如果持續發生封包遺失問題,請考慮使用頻寬較高 (Tier_1) 的 VM,或是將流量分散至更多 VM。

SPOOFED_SOURCE

封包來源未與 VM 網路介面建立關聯,且 IP 轉送已關閉,因此輸出流量遭到捨棄。

建議:如要從 VM 網路介面傳送來源任意的封包至虛擬私有雲網路中可路由傳送的目的地,您必須為 VM 啟用 IP 轉送。

TOO_MANY_CONNECTIONS

主機的封包處理軟體無法配合流量速率,因此捨棄了輸出流量。

建議:考慮使用專為大量連線設計的機器系列,或將工作負載分散到更多 VM。

下表說明 DEST 或 DEST_GATEWAY 回報時,drop_reason 欄位支援的值。

捨棄原因 說明
EARLY_DROPS_FULL_FAIR_QUEUE

主機的封包處理軟體強制執行資源公平性,因此捨棄了連入流量。這種情況通常只會影響第 1 代機器系列。

建議做法:如果掉幀問題持續發生,請考慮遷移至效能更佳的新型機器系列。

FIREWALL_DENY

由於系統評估了輸入防火牆規則,且其動作為 deny,因此捨棄了輸入流量。

建議:如要允許這類流量,請調整防火牆規則。

INVALID_L4_CHECKSUM_INTERNET

系統偵測到總和檢查碼不符,因此捨棄了傳入流量。封包是從虛擬私有雲網路外部的來源,傳送至與 VM 檢舉者相關聯的目的地外部 IP 位址。詳情請參閱「從虛擬私有雲網路外部目的地傳輸資料」。

最佳化建議:如果持續發生掉格情形,請檢查來源或網路路徑的健康狀態。

INVALID_L4_CHECKSUM_INTERNAL

系統偵測到總和檢查碼不符,因此捨棄了傳入流量。封包在虛擬私有雲網路中轉送至與 VM 檢舉者相關聯的目的地 IP 位址。詳情請參閱「可透過虛擬私有雲網路路由傳送至目的地的連入流量」。

最佳化建議:如果持續發生掉格情形,請檢查來源或網路路徑的健康狀態。

PSC_NAT_OUT_OF_CONNECTIONS

由於 Private Service Connect 端點已達到消費者可同時連線的數量上限,因此系統捨棄了連入流量。

建議:請消費者降低連至這個 Private Service Connect 端點的新連線速率,或請消費者使用更多用戶端 VM,將連線分配至這個 Private Service Connect 端點。

PSC_NAT_OUT_OF_PORTS

來自 Private Service Connect 用戶的連入流量遭到捨棄,因為 Private Service Connect NAT 連接埠已用盡。

建議:檢查 NAT 子網路大小。

QUEUE_OVERFLOW

主機的封包處理軟體超出 CPU 容量,因此捨棄了連入流量。

建議:如果持續發生封包遺失問題,請考慮使用頻寬較高 (Tier_1) 的 VM,或是將流量分散至更多 VM。

TOO_MANY_CONNECTIONS

由於主機的封包處理軟體無法配合流量速率,因此系統捨棄了連入流量。

建議:如果高流量率是因 VM 層級的連線並行或周轉率過高所致,請考慮降低 VM 的新連線速率。

PrivateServiceConnectDetails 欄位格式

欄位 類型 說明
reporter 字串 Private Service Connect 記者。 可以是 CONSUMER 或 PRODUCER。
consumer_connection IpConnection 前 NAT 5 元組,從消費者角度描述流程。如果檢舉者為 PRODUCER,系統會填入這項資訊。
psc_endpoint PrivateServiceConnectEndpointDetails 消費者端點詳細資料
psc_attachment PrivateServiceConnectAttachmentDetails 生產端服務連結詳細資料

PrivateServiceConnectEndpointDetails 欄位格式

欄位 類型 說明
名稱 字串 Private Service Connect 端點的名稱。只有在 target_service_type 為 PUBLISHED_SERVICE 時,系統才會填入適當值。
project_id 字串 端點的Google Cloud 專案 ID。
區域 字串 端點區域。如果目標服務類型為 GLOBAL_GOOGLE_APIS,則不會填入這個欄位。
psc_connection_id 字串 Private Service Connect 連線 ID
target_service_type 字串 目標服務類型。可以是 GLOBAL_GOOGLE_APIS 或 PUBLISHED_SERVICE。
虛擬私人雲端 VpcDetails 端點的虛擬私有雲網路詳細資料。 如果檢舉者是 PRODUCER,系統不會填入 subnetwork_name 和 subnetwork_region 欄位。

PrivateServiceConnectAttachmentDetails 欄位格式

欄位 類型 說明
名稱 字串 服務連結名稱
project_id 字串 服務連結的Google Cloud 專案 ID
區域 字串 服務連結的區域
虛擬私人雲端 VpcDetails 服務連結的虛擬私有雲網路詳細資料

PrivateServiceConnectInterfaceDetails 欄位格式

欄位 類型 說明
network_attachment NetworkAttachmentDetails 消費者網路連結的中繼資料
producer ProducerDetails 發起連線的供應端中繼資料

NetworkAttachmentDetails 欄位格式

欄位 類型 說明
名稱 字串 網路連結名稱
project_id 字串 網路連結的Google Cloud 專案 ID
區域 字串 網路連結的區域

ProducerDetails 欄位格式

欄位 類型 說明
project_id 字串 Google Cloud 生產者的專案 ID。只有在無法使用 service_class_id 欄位時,系統才會填入這個欄位。
區域 字串 供應端 VM 所在區域
service_class_id 字串 生產者服務類別的 ID (如有)
儲存區 字串 供應端 VM 的可用區

ServerlessDetails 欄位格式

欄位 類型 說明
project_id 字串 Google Cloud 專案的 ID,其中包含 Cloud Run 或 App Engine 資源。在 Shared VPC 設定中,專案 ID 通常是服務專案的 ID。
區域 字串 Cloud Run 或 App Engine 資源的區域

可以是下列其中一項:

  • cloud_run_service_details
  • cloud_run_job_details
  • cloud_run_worker_pool_details
  • app_engine_service_details

可以是下列其中一項:

Cloud Run 或 App Engine 資源的名稱

CloudRunServiceDetails 欄位格式

欄位 類型 說明
service_name 字串 Cloud Run 服務名稱

CloudRunJobDetails 欄位格式

欄位 類型 說明
job_name 字串 Cloud Run 工作名稱

CloudRunWorkerPoolDetails 欄位格式

欄位 類型 說明
worker_pool_name 字串 Cloud Run worker 集區的名稱

AppEngineServiceDetails 欄位格式

欄位 類型 說明
service_name 字串 App Engine 服務的名稱

VpcDetails 欄位格式

欄位 類型 說明
project_id 字串 包含虛擬私有雲的 Google Cloud 專案 ID。 在 Shared VPC 設定中,專案 ID 是主專案的 ID。
subnetwork_name 字串 子網路名稱 (如適用)
subnetwork_region 字串 子網路區域 (如適用)
vpc_name 字串 網路名稱

中繼資料註解

記錄包含基本欄位和中繼資料欄位。如需類型中繼資料和類型基礎欄位的清單,請參閱「記錄格式」一節。所有基本欄位一律會包含,您可以自訂要保留哪些中繼資料欄位。

  • 如果選取所有中繼資料,流量記錄會包含虛擬私有雲流量記錄格式中的所有中繼資料欄位。記錄格式新增中繼資料欄位時,流程記錄會自動納入這些新欄位。

  • 如果選取「無中繼資料」,系統會省略所有中繼資料欄位。

  • 如果選取自訂中繼資料,可以依上層欄位 (例如 src_vpc) 或完整名稱 (例如 src_vpc.project_id),指定要納入的中繼資料欄位。

    記錄格式新增中繼資料欄位時,除非這些欄位位於您指定要納入的父項欄位中,否則不會納入流程記錄。

    • 如果您使用父項欄位指定自訂中繼資料,當該父項欄位的記錄格式新增中繼資料欄位時,流量記錄檔會自動納入這些新欄位。

    • 如果使用欄位的完整名稱指定自訂中繼資料,新增至父項欄位的中繼資料欄位會從流程記錄中排除。

如要瞭解如何自訂中繼資料欄位,請參閱「啟用虛擬私有雲流量記錄」或「更新虛擬私有雲流量記錄設定」。

跨專案註解

如果在組織層級啟用虛擬私有雲流量記錄,系統會使用跨專案註解,註解流經 Shared VPC、虛擬私有雲網路對等互連和 Network Connectivity Center 的流量。系統預設會啟用跨專案註解。您可以選擇停用這些註解。

  • 如果啟用跨專案註解,不同專案中資源之間的流程記錄檔會包含流程兩端的資訊。
  • 如果停用跨專案註解,記錄檔只會包含流程回報者的相關資訊。

如果在專案層級啟用虛擬私有雲流量記錄,系統不會為不同專案中資源之間的流量加上跨專案註解。

GKE 註解

如果流程的端點位於 GKE 叢集中,則可使用 GKE 中繼資料註解進行註解,其中可能包含端點的叢集、Pod 和服務詳細資料。

GKE 服務註解

傳送至 ClusterIP、NodePort 或 LoadBalancer 的流量可以接收 Service 註解。如果傳送至 NodePort 或 LoadBalancer,流程會在連線的兩個躍點上收到 Service 註解。

直接傳送至 Pod 服務通訊埠的流量,會在目的地端點上加上服務註解。

如果傳送至 Pod 服務通訊埠的流量,是 Pod 在同一服務通訊埠上支援多項服務,則目的地端點會註解多項服務。最多只能選擇兩項服務。如果超過這個數量,端點會以特殊 MANY_SERVICES 標記註解。

網際網路流量的 Pod 註解

Pod 與網際網路之間的流量預設不會收到 Pod 註解。虛擬私有雲流量記錄無法新增 Pod 註解,因為對於傳送至網際網路的封包,偽裝代理程式會在虛擬私有雲流量記錄看到封包前,將 Pod IP 位址轉換為節點 IP 位址。

由於偽裝,只有在目的地位於預設非偽裝目的地或自訂nonMasqueradeCIDRs清單中時,才會顯示 Pod 註解。如果您在自訂 nonMasqueradeCIDRs 清單中加入網際網路目的地,就必須提供方法,讓內部 Pod IP 位址在傳送至網際網路前完成轉換。無論是私人或非私人叢集,您都可以使用 Cloud NAT。詳情請參閱「GKE 互動」。

捨棄流量的記錄

虛擬私有雲流量記錄會為遭捨棄的流量產生記錄。系統會分別產生遭捨棄流量的記錄和標準記錄。封包捨棄會依資料流和捨棄原因匯總。 在匯總間隔內,系統會將具有相同原因的封包捨棄作業,整合成單一記錄;並為每個不重複的捨棄原因產生個別記錄。

來源 (SRC 或 SRC_GATEWAY) 會回報輸出捨棄,目的地 (DEST 或 DEST_GATEWAY) 則會回報輸入捨棄。如果來源和目的地都啟用虛擬私有雲流量記錄,則適用下列行為:

  • 輸出捨棄。如果來源端發生捨棄情形,系統會為來源產生標準記錄和包含捨棄原因的記錄。由於流量從未傳送至目的地,因此系統不會為目的地產生記錄。
  • Ingress 掉落物。如果目的地端發生捨棄情形,系統會為來源和目的地產生記錄。對於來源,虛擬私有雲流量記錄會產生標準記錄檔記錄;對於目的地,則只會產生包含捨棄原因的記錄檔記錄。

遭捨棄流量的記錄包含 disposition、drop_reason、bytes_dropped、packets_dropped 和 throughput_inclusion 欄位。

如需追蹤的封包捨棄原因清單,請參閱「封包捨棄原因」。

記錄篩選

啟用虛擬私有雲流量記錄時,您可以根據基本和中繼資料欄位設定篩選條件,只保留符合篩選條件的記錄。寫入 Logging 前,系統會捨棄所有其他記錄。

您可以篩選「記錄格式」中列出的任何欄位子集,但下列欄位除外:

  • rtt_msec
  • bytes_sent
  • packets_sent
  • start_time
  • end_time

虛擬私有雲流量記錄檔篩選功能使用 CEL,這是一種內嵌的運算式語言,適用於以屬性為基礎的邏輯運算式。虛擬私有雲流量記錄的篩選運算式長度上限為 2,048 個字元。詳情請參閱「支援的 CEL 邏輯運算子」。

如要進一步瞭解 CEL,請參閱 CEL 簡介和語言定義。 生成篩選器功能僅支援部分 CEL 語法。

如要建立使用記錄篩選功能的虛擬私有雲流量記錄設定,請參閱「啟用虛擬私有雲流量記錄」。如要為現有的虛擬私有雲流量記錄設定篩選記錄,請參閱「更新虛擬私有雲流量記錄設定」。如需記錄篩選器範例,請參閱「記錄篩選器範例」。

支援的 CEL 邏輯運算子

運算式 支援的類型 說明
true/false 布林值 布林常數

x == y

x != y

布林值、整數、字串

比較運算子

範例:connection.protocol == 6

x && y

x || y

布林值

布林邏輯運算子

範例:connection.protocol == 6 && src_instance.vm_name == "vm_1"

!x 布林值 否定
1、2.0、0... 整數 常數數值常值
x + y 字串 字串串連
"foo"、'foo' 等。 字串 常數字串常值
x.lower() 字串 傳回字串的小寫值
x.upper() 字串 傳回字串的大寫值
x.contains(y) 字串 如果字串包含指定的子字串,則傳回 true
x.startsWith(y) 字串 如果字串開頭為指定子字串,則傳回 true
x.endsWith(y) 字串 如果字串結尾為指定的子字串,則傳回 true
inIpRange(X, Y) 字串

如果 X 是 IP,且 Y 是包含 X 的 IP 範圍,則傳回 true

例如:inIpRange("1.2.3.1", "1.2.3.0/24")

x.containsFieldValue(y) x:清單
y:對應(字串、字串)

如果清單包含的物件欄位與指定的鍵/值組合相符,則傳回 true

範例:dest_gke_details.service.containsFieldValue({'service_name': 'service1', 'service_namespace': 'namespace1'})

has(x) 字串

如果欄位存在,則傳回 true。

App Hub 標籤

如果資源註冊為 Google Cloud App Hub 工作負載或服務,記錄檔會包含應用程式專屬標籤。VPC Flow Logs 會為與下列資源相關聯的流量加上這些標籤:

  • Compute Engine 代管執行個體群組
  • GKE Pod (CRON_JOB、DAEMON_SET、DEPLOYMENT 和 STATEFUL_SET 工作負載類型)
  • 設定直連虛擬私有雲輸出流量的 Cloud Run 服務和作業
  • 轉送規則

每個記錄最多會附加一個來源資源和一個目的地資源的 App Hub 標籤 (如適用)。對於轉送規則,CLIENT 和 BACKEND 欄位會決定轉送規則是來源還是目的地資源。

應用程式中樞標籤與虛擬私有雲流量記錄中繼資料註解不同;虛擬私有雲流量記錄中繼資料和記錄篩選設定不適用於這些標籤。

後續步驟