控制平面記錄和監控

本文件說明如何使用 Cloud LoggingCloud 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 記錄,但您也可以使用前述連結自行建立查詢。

  1. 前往 Google Cloud 控制台的「Logs Explorer」頁面。

    前往「Logs Explorer」

  2. 在「Resource」清單中,
    • 如果您使用服務路由 API,請選取 Gateway ScopeMesh
    • 如果您使用舊版 API,請選取 GCE Network
  3. 在「Log name」(記錄檔名稱) 清單中選取 trafficdirector.googleapis.com/events
  4. 點選「執行查詢」

Cloud Service Mesh 記錄項目欄位

欄位 說明
node_id xDS 用戶端節點的 ID,由 xDS 用戶端提供。
client_type 連線至 Cloud Service Mesh 的 xDS 用戶端類型。可能的值包括:
  • ENVOY
  • GRPC-JAVA
  • GRPC-C++
  • GRPC-PYTHON
  • GRPC-GO
  • UNKNOWN
node_ip 用戶端提供的節點 IP 位址。
api_version xDS 用戶端用於連線至 Cloud Service Mesh 的 xDS API 版本。可能的值為 V2V3
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 指標,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Metrics Explorer」頁面。

    前往 Metrics Explorer

  2. 在「Resource type」清單中選取資源。
    • 如果您使用服務路由 API,請選取 Gateway ScopeMesh
    • 如果您使用舊版 API,請選取 Network
  3. 在「指標」清單中選取「connected_clients」。
  4. 返回「Resource type」清單,然後選取 Compute Engine Backend Service
  5. 在「指標」清單中,選取 Request countRequest count by zone

或者,您也可以使用查詢來查看跨區域要求數量:

  1. 選取「MQL」MQL
  2. 在欄位中輸入下列範例查詢:
    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)]
    
  3. 點選「執行查詢」

設定記錄指標和快訊

您必須設定記錄指標,才能執行下列步驟。如要進一步瞭解如何設定記錄指標,請參閱總覽

您可以設定快訊,在記錄檔中出現使用者指定的訊息時通知您。這些快訊可在發生非預期事件時通知操作員。舉例來說,如果 Cloud Service Mesh 設定變更導致 API 資源發生衝突,您就會收到錯誤訊息的快訊。如要針對記錄指標設定快訊,請參閱「設定圖表和快訊」。