控制平面記錄和監控
本文件說明如何使用 Cloud Logging 和 Cloud Monitoring 查看 Cloud Service Mesh 控制平面的記錄和指標。
使用服務網格可讓您觀察進出服務的流量,無須變更服務本身的程式碼,即可進行更豐富的監控和偵錯作業。記錄項目可提供服務網格的重要資訊,協助您排解問題,包括成功連線和中斷連線的記錄、設定錯誤的用戶端錯誤報告,以及 API 資源衝突的快訊。
用途
以下是控制平面記錄與監控的三種用途:
- Cloud Logging 適用於 Cloud Service Mesh 控制層:您可以使用 Logging 的所有內建功能,安全地儲存、搜尋、分析所有 Cloud Service Mesh 記錄資料和事件,並設定相關快訊。當 Envoy 或 gRPC 用戶端連線或斷線,以及偵測到設定問題時,Cloud Service Mesh 會將記錄匯出至 Logging。
- Cloud Service Mesh 控制平面適用的 Cloud Monitoring:Cloud Service Mesh 會將指標匯出至 Monitoring,指出已連線至 Cloud Service Mesh 控制平面的用戶端數量。您可以在 Monitoring 中設定資訊主頁,並即時呈現這項指標,以便在用戶端連線和斷線時監控網格的健康狀態。您也可以為網格設定服務等級目標。
- 立即排解問題:Cloud Service Mesh 預設會將遙測資料匯出至記錄和監控。您不必額外設定任何項目,即可設定記錄和監控功能,因此隨時都能排解問題,包括首次設定網格時。
查看記錄
如要查看 Cloud Service Mesh 記錄,請使用記錄檔探索工具。以下節提供查詢範例,可用來查看 Cloud Service Mesh 記錄,但您也可以使用前述連結自行建立查詢。
前往 Google Cloud 控制台的「Logs Explorer」頁面。
- 在「Resource」清單中,
- 如果您使用服務路由 API,請選取
Gateway Scope
或Mesh
。 - 如果您使用舊版 API,請選取
GCE Network
。
- 如果您使用服務路由 API,請選取
- 在「Log name」(記錄檔名稱) 清單中選取
trafficdirector.googleapis.com/events
。 - 點選「執行查詢」。
Cloud Service Mesh 記錄項目欄位
欄位 | 說明 |
---|---|
node_id |
xDS 用戶端節點的 ID,由 xDS 用戶端提供。 |
client_type |
連線至 Cloud Service Mesh 的 xDS 用戶端類型。可能的值包括:
|
node_ip |
用戶端提供的節點 IP 位址。 |
api_version |
xDS 用戶端用於連線至 Cloud Service Mesh 的 xDS API 版本。可能的值為 V2 和 V3 。 |
description |
事件的文字說明,包含其他詳細資料。 |
記錄項目範例
記錄項目範例 | 說明 |
---|---|
「Cloud Service Mesh 找不到任何 xDS 用戶端設定。」 | 當 Cloud Service Mesh 因未設定而拒絕 xDS 用戶端時,系統就會產生這項記錄。這可能是因為 Cloud Service Mesh 相關 API 資源的設定不完整。 |
「Client has successfully connected.」 | 每當用戶端成功連線至 Cloud Service Mesh 時,系統就會產生這類記錄訊息。 |
「Client has successfully disconnected.」(用戶端已成功中斷連線)。 | 每當已建立的用戶端與 Cloud Service Mesh 中斷連線時,就會產生這類記錄訊息。 |
「未設定 TRAFFICDIRECTOR_INTERCEPTION_PORT 中繼資料變數。攔截事件監聽器的路由設定已存在,但會遭到忽略。」 | 當 Cloud Service Mesh 資源設定正確,但 TRAFFICDIRECTOR_INTERCEPTION_PORT 變數未在 xDS-client 節點中繼資料中設定時,系統就會產生這類記錄訊息,因此無法將這項設定新增至用戶端。 |
「攔截事件監聽器已建構在指定的 15001 通訊埠上,但該通訊埠沒有路由設定。」 | 當 TRAFFICDIRECTOR_INTERCEPTION_PORT 變數在 xDS 用戶端節點中繼資料中設定時,系統會產生這類記錄訊息,但未為 Cloud Service Mesh 設定任何資源,因此無法產生完整的 xDS 回應。 |
「傳送 Cloud Service Mesh 的 ADS 回應失敗。來自節點的最後一次探索要求版本和/或 Nonce 不正確。」 | 當 Cloud Service Mesh 無法正確處理 xDS 回應,因為 xDS 用戶端的通訊內容已損毀,就會產生這類記錄訊息。這則訊息表示用戶端發生實作錯誤。建議您查看用戶端的記錄。 |
「用戶端將跨區域流量傳送至後端服務 backend_service_id 。來源區域:source_region
目的地區域:destination_region1, destination_region2 " |
當用戶端向 Cloud Service Mesh 回報,從來源區域傳送跨區域流量至一或多個目的地區域時,就會產生這類記錄訊息。 |
查看指標
Cloud Service Mesh 會將三個指標匯出至 Cloud Monitoring:xDS API 已連線串流、要求次數和依區域劃分的請求次數。xDS API 已連線串流:代表已連線至控制平面的用戶端數量;要求次數:代表傳送至後端服務的請求次數,並依來源區域、目的地區域和要求狀態分組。「依區域劃分的請求計數」:指出傳送至後端服務的請求數量,並依來源區域、目的地區域和要求狀態分組。如要查看這些指標,請使用 Metrics Explorer。
如要查看 Cloud Service Mesh 指標,請按照下列步驟操作:
前往 Google Cloud 控制台的「Metrics Explorer」頁面。
- 在「Resource type」清單中選取資源。
- 如果您使用服務路由 API,請選取
Gateway Scope
或Mesh
。 - 如果您使用舊版 API,請選取
Network
。
- 如果您使用服務路由 API,請選取
- 在「指標」清單中選取「
connected_clients
」。 - 返回「Resource type」清單,然後選取
Compute Engine Backend Service
。 - 在「指標」清單中,選取
Request count
或Request count by zone
。
或者,您也可以使用查詢來查看跨區域要求數量:
- 選取「MQL」MQL。
- 在欄位中輸入下列範例查詢:
fetch gce_backend_service | metric 'trafficdirector.googleapis.com/xds/server/request_count' | filter ( ne(metric.source_region, metric.destination_region)) | align rate(1m) | every 1m | group_by [metric.source_region, metric.destination_region, resource.backend_service_id], [value_request_count_aggregate: aggregate(value.request_count)]
- 點選「執行查詢」。
設定記錄指標和快訊
您必須設定記錄指標,才能執行下列步驟。如要進一步瞭解如何設定記錄指標,請參閱總覽。
您可以設定快訊,在記錄檔中出現使用者指定的訊息時通知您。這些快訊可在發生非預期事件時通知操作員。舉例來說,如果 Cloud Service Mesh 設定變更導致 API 資源發生衝突,您就會收到錯誤訊息的快訊。如要針對記錄指標設定快訊,請參閱「設定圖表和快訊」。