Flow Analyzer 可讓您快速有效地瞭解虛擬私有雲 (VPC) 流量,不必編寫複雜的 SQL 查詢來分析虛擬私有雲流量記錄檔。Flow Analyzer 可讓您以 5 元組的精細程度 (來源 IP、目的地 IP、來源通訊埠、目標通訊埠和通訊協定) 執行主觀的網路流量分析。
Flow Analyzer 是以可觀測性分析開發,並採用 BigQuery 技術,可深入分析 VM 執行個體的傳入和傳出流量。您可以監控、疑難排解及最佳化網路部署作業,進而提升效能、加強安全性、確保法規遵循,並節省成本。
Flow Analyzer 會分析儲存在記錄檔 bucket 中的虛擬私有雲流量記錄檔資料 (記錄格式)。如要使用 Flow Analyzer,您必須選取含有虛擬私有雲流量記錄檔的記錄檔 bucket 專案。詳情請參閱「虛擬私有雲流量記錄檔總覽」。虛擬私有雲流量記錄檔可用於網路監控、鑑識、即時安全性分析和支出最佳化作業。
Flow Analyzer 會對虛擬私有雲流量記錄檔中的欄位執行查詢。詳情請參閱「虛擬私有雲流量記錄的重要屬性」。
在 Flow Analyzer 中,您可以執行下列操作:
- 查詢虛擬私有雲流量記錄回報的記錄
- 使用 SQL 篩選器縮小查詢範圍
- 依總流量、匯總封包、封包捨棄或延遲時間排序查詢結果
- 查看特定時間範圍內的流量
- 查看所選時間範圍內,流量、封包捨棄量或延遲時間最高的前五個流量
- 查看所選時間範圍內,流量、封包捨棄量或延遲時間最高的資源
- 在查詢結果中查看特定來源和目的地組合的流量詳細資料
運作方式
虛擬私有雲流量記錄會對虛擬私有雲網路中的封包進行取樣,產生流量記錄,並儲存在 Cloud Logging 中,或透過 Pub/Sub 轉送至支援的目的地,例如 BigQuery 或第三方平台。
流量記錄儲存在 Cloud Logging 中已啟用 Observability Analytics 的 bucket 時,您可以使用 Flow Analyzer 查詢及視覺化呈現流量資料。
查詢元件
如要分析及瞭解流量,您必須對虛擬私有雲流量記錄執行查詢。Flow Analyzer 可協助您建立查詢、自訂顯示選項,以及深入查看及監控流量。
流量匯總
如要分析虛擬私有雲流量,您必須決定匯總方法,篩選資源之間的流量。Flow Analyzer 會透過下列方式彙整流量記錄:
- 「Source and destination」(來源和目的地):這個選項會使用虛擬私有雲流量記錄中的「SRC」和「DEST」資訊。這個檢視畫面會匯總從來源到目的地的流量。
- 用戶端和伺服器:這個選項會嘗試找出連線發起端。通訊埠編號較小的資源會視為伺服器。此外,由於服務不會發出要求,因此系統也會將定義為 gke_service 的資源視為伺服器。這個檢視畫面會匯總雙向流量。
時間範圍選取器
預設時間範圍為一小時,但您可以使用時間範圍選取器,從預設時間選項中選取、指定自訂開始和結束時間,或以特定時間戳記為中心設定時間範圍。舉例來說,如要查看過去一週的資料,請在日期範圍選取器中選取「Last 1 week」(過去 1 週)。
您也可以使用時間範圍選取器,設定偏好的時區。
基本篩選器
基本篩選器可讓您定義查詢範圍。查詢結果只會顯示符合所選篩選條件的流量。您可以選取下列篩選條件:
- 來源和目的地 (如果「流量匯總」設為「來源 - 目的地」)
- 用戶端和伺服器 (如果「流量匯總」設為「用戶端 - 伺服器」)
- 流程參數
在每個「Filter」(篩選器) 清單中,您可以新增多個篩選運算式。如果為同一個篩選器選取多個值,系統會使用 OR 運算子,如果選取多個篩選器,系統會使用 AND 運算子。
舉例來說,假設您選取兩個 IP 位址值 (10.10.0.10 和 10.10.0.20) 和兩個國家/地區值 (usa 和 fra),查詢會套用下列篩選邏輯:(IP=10.10.0.10 OR IP=10.10.0.20) AND (Country=usa OR Country=fra)。
如要使用基本篩選器建構及執行查詢,請參閱「建構及執行查詢」。
SQL 篩選器
如要建立複雜的查詢,可以使用 SQL 篩選器。使用複雜查詢,即可執行下列工作:
- 比較欄位值
- 使用 AND/OR 和巢狀 OR 運算,建構複雜的布林邏輯
- 使用 BigQuery 函式對 IP 位址執行複雜作業
SQL 篩選器查詢使用 BigQuery SQL 語法。詳情請參閱 BigQuery SQL 語法。
如要查看篩選運算式語法和範例,請按一下「篩選運算式語法和範例」。
如要使用 SQL 篩選器建構及執行查詢,請參閱「建構及執行 SQL 查詢」。
查詢結果
根據預設,查詢結果包含下列元件:
- 「最高資料流量」圖表:顯示一段時間內流量最高的前五個流量,以及其餘流量。您可以使用這張圖表找出流量高峰等趨勢。
- 「All data flows」(所有資料流程) 表格:顯示所選時間範圍內匯總的前幾名流量,最多 5,000 列。這個表格會顯示定義查詢篩選條件時,所選用來整理流程的欄位。
如果您在「Display options」(顯示選項) 中選取「Latency」(延遲時間),系統會改為顯示「Highest latency flows」(延遲時間最長的流量) 和「All latency flows」(所有延遲時間流量)。如果選取「Packet drops」(封包捨棄),Flow Analyzer 會顯示「Highest drops」(捨棄量最高) 圖表和「All packet drop flows」(所有封包捨棄流量) 表格。
顯示選項
執行查詢後,您可以使用顯示選項來修正結果。圖表和表格會根據您的選擇更新。
Flow Analyzer 提供三種模式,可自訂資料顯示方式:
詳情請參閱「自訂顯示選項」。
資料量
「資料量」顯示模式提供下列選項。
指標類型
您可以選擇查看下列其中一種指標類型。
傳送的位元組:包含酬載量相關資訊,不含標頭。這項指標值可能為零,因為部分封包只有標頭,不含任何酬載。
傳送的封包:從來源傳送至目的地的封包數量。
這兩種指標類型都可選擇其他指標匯總。
指標匯總
您可以透過下列方式查看指標匯總。
如果選取「Bytes sent」(傳送的位元組數) 做為指標,並選取「Source and destination」(來源和目的地) 做為流量匯總,則可使用下列選項:
- 總流量:預設一律啟用,顯示所選時間範圍內的總流量。
- 平均流量率:顯示所選時間範圍內的平均流量率 (以每秒位元組數為單位),僅針對觀察到流量的校準期間計算。詳情請參閱「對齊週期」。
- 流量中位數:顯示所選時間範圍內的流量中位數 (以每秒位元組數為單位),僅針對觀察到流量的校準期間計算。詳情請參閱「對齊週期」。
- 第 95 個百分位數的流量傳輸速率:顯示所選時間範圍內,第 95 個百分位數的流量傳輸速率 (以每秒位元組數為單位),僅針對觀察到流量的校正週期計算。詳情請參閱「對齊週期」。
- 「Maximum traffic rate」(流量傳輸速率最大值):顯示所選時間範圍內的最大流量傳輸速率 (以每秒位元組數為單位)。
如果選取「Packets sent」(傳送的封包) 做為指標,並選取「Source and destination」(來源和目的地) 做為流量匯總,則可使用下列選項:
- 匯總封包:顯示所選時間範圍內傳送的封包數量。(預設為啟用)。
- 平均封包速率:顯示所選時間範圍內的平均封包速率,僅針對觀察到流量的校正週期計算。詳情請參閱「對齊週期」。
- 封包傳送速率中位數:顯示所選時間範圍內的封包傳送速率中位數,僅針對觀察到流量的校正週期計算。詳情請參閱「對齊週期」。
- 第 95 個百分位數的封包傳輸速率:顯示所選時間範圍內,第 95 個百分位數的封包傳輸速率,僅針對觀察到流量的校正週期計算。詳情請參閱「對齊週期」。
- 「Maximum packets rate」(封包速率上限):顯示所選時間範圍內的封包速率上限。
取樣點
如果是 VM 對 VM 網路通訊,則傳送和接收流量的 VM 都有流量記錄 (已套用取樣)。如果兩個端點 VM 都在已啟用虛擬私有雲流量記錄的子網路中,系統會回報兩次相同的流量。您可以選擇下列四種方法之一,決定哪些虛擬私有雲流量記錄會用於計算指標,以及如何評估這些記錄:
- 來源端點:在流量來源端點回報的傳送位元組數或傳送封包數
- 目的地端點:在流量的目的地端點,回報的傳送位元組數或傳送封包數
- 來源和目的地端點的總和:流量兩端點回報的傳送位元組數或傳送封包數總和
- 來源和目的地端點的平均值:如果虛擬私有雲流量記錄中同時提供來源和目的地資訊,則為流量兩端回報的傳送位元組或封包平均值
流量簡化
如要避免重複計算來源和目的地 VM 回報的流量,可以選擇「Average of source and destination endpoint」(來源和目的地端點的平均值) 取樣選項。Flow Analyzer 會找出每個校正週期內的對等流量,並計算回報指標值 (位元組數和封包數) 的平均值。
如果 SRC 和 DEST 在對齊週期內回報的流量相同,則歸因於該對齊週期的所有流量都會除以二。
封包捨棄
「Packet drops」(封包遺失) 顯示模式提供下列選項。
指標類型
您可以選擇查看下列其中一種指標類型:
- 傳送的封包 (預設):顯示捨棄的封包數量。
- 傳送的位元組數:顯示捨棄的位元組數量。
時間軸
在「Highest drops」(最高丟棄率) 圖表中,您可以選擇封包丟棄率的計算方式,以及在時間軸上的顯示方式:
- 捨棄率 (%) (預設):顯示在所選校正週期內捨棄的封包或位元組百分比。
- 捨棄數量:顯示在所選校正週期內捨棄的封包或位元組數量。
取樣點
分析封包捨棄情形時,Flow Analyzer 會顯示由流量來源或目的地回報的封包遺失資料 (預設)。您可以調整取樣點,只查看來源 (輸出捨棄) 或目的地 (輸入捨棄) 的資料。
此外,「All packet drop flows」(所有封包捨棄流程) 資料表包含「Drop reason」(捨棄原因) 欄,可協助您疑難排解問題。按一下捨棄原因,即可查看捨棄流量的詳細資訊,包括根本原因。
延遲時間
「延遲時間」顯示模式提供下列選項。
指標類型
Flow Analyzer 會使用虛擬私有雲流量記錄中的封包往返時間資料,提供 TCP 流量的延遲時間分析。
排名指標
您可以使用下列指標,為流量進行排名。這項選取項目會定義「All latency flows」(所有延遲時間流程) 表格中的排列順序,並決定「Highest latency flows」(延遲時間最長的流程) 圖表中顯示的流程。
- 平均:依據最高平均延遲時間 (包括延遲時間高峰) 排序流量。
- 最大:依據延遲時間最大高峰排序流量。
- 中位數:依延遲時間中位數最高者排序流量 (不含延遲時間高峰)。
- P95:依據第 95 個百分位數的最高延遲時間排序流量。
- P99:依據第 99 個百分位數的最高延遲時間排序流量。
- 標準差:依據延遲時間的最大變異 (不一致性) 排序流量。
取樣點
系統會回報來源和目的地端點的延遲時間。您可以查看流量任一端的延遲時間值。
指標匯總
匯總延遲時間資料的選項如下:
圖表匯總:定義「Highest latency flows」(延遲時間最長的流量) 圖表的計算方法,並套用至根據所選排名指標選取的資料。您可以選擇「Average」(平均值)、「Max」(最大值)、「Median」(中位數)、「P95」或「P99」做為延遲時間計算方法。
舉例來說,如果您依據「中位數」延遲時間為流量排名,並將圖表匯總設為「最大延遲時間」,圖表就會顯示中位數延遲時間最高的五個流量,以及這些流量的延遲時間最大高峰。
表格匯總:選取除了所選排名指標之外,還有哪些指標要顯示為「All latency flows」表格中的資料欄。
您也可以從延遲時間分析中排除低流量。
校正週期
圖表詳細資料的時間範圍可選擇 5 秒到 1 天。自動模式會依據所選時長,選用最合適的校正週期。
時間軸上的每個點都代表特定時間範圍的匯總資料。這段期間的長度稱為「校正期」。
效能會隨著對齊週期值的減少而降低。如果對齊週期值較高,圖表的精細程度會降低。因此可能無法查看數值較高的短暫高峰。
如果時間長度較長,較短的校正週期並無幫助。舉例來說,如果您選取 30 天內的 1 分鐘對齊,Flow Analyzer 會產生超過 43,000 個資料點。由於這個數字是 4k 顯示器像素的 10 倍,因此您無法查看所有詳細資料,且部分選項在長時間範圍內會停用。
如要進一步瞭解如何進行取樣,以及如何決定對齊週期來顯示查詢結果,請參閱「指標和對齊週期」。
查看流程詳細資料
在「All data flows」(所有資料流量)、「All packet drop flows」(所有封包捨棄流量) 或「All latency flows」(所有延遲流量) 表格中,點選任一流量的「Details」(詳細資料)。「Flow details」(流程詳細資料) 面板隨即顯示。這個面板會提供來源、目的地、流量、細查選項和輸出自治系統 (AS) 路徑等資訊。
細查檢視畫面
您可以使用額外欄位分割所選流量,進一步細查。舉例來說,如果流量包含從 Google Cloud 可用區 X 到可用區 Y 的 1,000 GiB 流量一般詳細資料,您可以使用其他欄位 (例如來源 IP 位址) 向下切入。結果包含多個構成原始流量的 IP 位址。
下鑽元件中顯示的欄位選取方式如下:
- 存取流程詳細資料時,Flow Analyzer 會執行多項查詢。每項查詢都會使用虛擬私有雲流量記錄中可用,且尚未用於原始查詢的欄位,嘗試深入分析所選流量。舉例來說,如果執行的查詢已包含 IP 位址詳細資料,就不需要再次使用這個欄位執行查詢,也無法使用這個欄位細查。
- 如果任何額外查詢傳回單一欄位值,即使先前未擷取,該值也會新增至來源和目的地詳細資料部分。
- 如果任何查詢結果包含多個欄位值,對應的欄位就會顯示在細查清單中。
在細查清單中選取欄位後,細查表格和圖表就會更新,顯示前三大流量。
您也可以使用「與過去比較」切換鈕。選取這項功能後,系統會顯示六條線:三條實線代表下鑽設定中前三名的通訊者,三條虛線則以對應顏色代表過去的流量。
如要使用更多欄位細查流量,請參閱「細查流量」。
輸出 AS 路徑檢視畫面
在「Egress AS paths」(輸出 AS 路徑) 分頁中,您可以查看輸出封包經過的 AS 路徑,以便到達 Google Cloud網路以外的目的地。AS 路徑可以包含多個自治系統編號 (ASN)。
您可以使用「Flow parameters」(流量參數) 清單中的「Egress AS path」(輸出 AS 路徑) 篩選器,控管「Egress AS paths」(輸出 AS 路徑) 分頁中顯示的 AS 詳細資料。舉例來說,「Comparator」(比較子) 欄位中的「longer than」(長於) 和「shorter than」(短於) 選項,可讓您指定每個 AS 路徑的 ASN 數量。如要查看包含特定 ASN 的 AS 路徑,可以使用「has first ASN」(有第一個 ASN) 或「contains ASN」(包含 ASN) 選項。
輸出 AS 路徑圖中的邊緣會依流量記錄數量加權。在圖表的 AS 路徑中,邊緣代表包含邊緣連結的兩個 ASN 的流量記錄數量。執行查詢時,輸出 AS 路徑圖表顯示的資料會根據您選取的「Egress AS path」(輸出 AS 路徑) 篩選器選項和時間範圍而變更。
前往 Observability Analytics 探索
您可以在 Observability Analytics 查看原始 SQL 查詢。
如要進行進階分析,可以直接修改用於圖表呈現流量的 SQL 程式碼。「Explore in Log Analytics」(在記錄檔分析中探索) 功能會將您導向「Log Analytics」(記錄檔分析) 頁面,並預先填入查詢。
後續步驟
- 指標和校正週期
- 分析流量
- 啟用 Observability Analytics
- 設定中央 bucket
- 從 Flow Analyzer 執行 Connectivity Tests
- 監控流量
- 排解 Flow Analyzer 中的資料問題