Cloud Load Balancing 呼叫的記錄和監控作業

本頁面說明如何搭配 Cloud Load Balancing 的 Service Extensions 呼叫,設定及使用 Cloud Logging 和 Cloud Monitoring。

記錄

本節說明應用程式負載平衡器呼叫的記錄功能。

啟用後端服務的記錄功能

建立服務時,您可以啟用應用程式負載平衡器呼叫的記錄功能,方法是啟用要求目標後端服務的記錄功能 (而非與擴充功能相關聯的後端服務)。

如要啟用目標後端服務的記錄功能,請使用 gcloud compute backend-services update 指令。

gcloud compute backend-services update BACKEND_SERVICE \
    --enable-logging \
    --logging-sample-rate=RATE \
    --region=REGION \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=OPTIONAL_FIELDS

更改下列內容:

  • BACKEND_SERVICE:後端服務名稱
  • RATE:介於 0.0 到 1.0 之間的值,0.0 表示不會記錄任何要求,1.0 則代表會記錄所有要求。預設值為 1.0。這項設定只有在與 enable-logging 參數搭配使用時才會生效。如果省略 enable-logging,系統會停用記錄功能。
  • REGION:後端所在區域
  • LOGGING_OPTIONAL_MODE:啟用下列其中一種模式的選填欄位記錄功能:

    • INCLUDE_ALL_OPTIONAL 會包含所有選填欄位。
    • EXCLUDE_ALL_OPTIONAL (預設) 會排除所有選填欄位。
    • CUSTOM 包含選填欄位的自訂清單。
  • OPTIONAL_FIELDS:選取 CUSTOM 模式時,以半形逗號分隔的選用欄位清單

在後端服務啟用記錄功能後,系統會使用 Cloud Logging 記錄 HTTP 或 HTTPS 要求。

如要查看記錄,請前往 Google Cloud 控制台的「Logs Explorer」頁面。

詳情請參閱應用程式負載平衡器說明文件的「監控及疑難排解」頁面,例如「內部應用程式負載平衡器記錄和監控」。

後端服務的記錄訊息

一般來說,應用程式負載平衡器記錄項目包含實用資訊,有助監控 HTTP 或 HTTPS 流量及偵錯。記錄項目包含下列資訊類型:

  • 大部分 Google Cloud 記錄檔中顯示的資訊,例如嚴重性、專案 ID、專案編號和時間戳記,如 LogEntry 記錄檔所述。
  • HttpRequest 記錄欄位。

HTTP 和 HTTPS 負載平衡器的要求記錄,在負載平衡器記錄項目 JSON 酬載中包含 service_extension_info 物件,其中含有下列資訊:

欄位 類型 說明
backend_target_name 字串 擴充功能後端目標的名稱。
backend_target_type 字串 後端目標的類型。
chain 字串 服務擴充功能資源中,符合要求的擴充功能鏈結名稱。
extension 字串 擴充功能鏈結中的擴充功能名稱。
failed_open 布林值 如果擴充功能設定將 failOpen 設為 true,這項指標的值為 true,表示擴充功能逾時或失敗時,處理作業仍會繼續。

僅適用於區域性外部應用程式負載平衡器、區域性內部應用程式負載平衡器,以及跨區域內部應用程式負載平衡器。

grpc_status 列舉 gRPC 串流的最新狀態。詳情請參閱 gRPC 狀態碼。
per_processing_request_info 陣列 ext_proc 擴充功能的 ProcessingRequest 統計資料清單,或 gRPC 串流中 ext_authz 擴充功能的 CheckRequest 統計資料清單。
per_processing_request_info[].event_type 列舉 ProcessingRequest 的事件類型。可以是下列其中一項:REQUEST_HEADERS、REQUEST_BODY、RESPONSE_HEADERS 或 RESPONSE_BODY。
per_processing_request_info[].latency 持續時間 從 ProcessingRequest 訊息的第一個位元組傳送至擴充功能,到收到 ProcessingResponse 訊息的最後一個位元組,這段時間的長度。
per_processing_request_info[].processing_effect 列舉 處理要求中每個事件的處理結果。

僅適用於區域性外部應用程式負載平衡器、區域性內部應用程式負載平衡器,以及跨區域內部應用程式負載平衡器。

可以是下列其中一個值:

  • NONE:表示內容未變更。
  • NONE_FAILED_OPEN:表示未執行任何變異,因為擴充功能無法開啟。
  • CONTENT_MODIFIED:表示內容已因成功套用變更要求而變更。
  • IMMEDIATE_RESPONSE:表示擴充功能已立即傳送回應,停止所有後續處理作業。
  • MUTATION_REJECTED:表示擴充功能要求至少一項不允許的變更,且已停止進一步處理。系統會記錄適當的錯誤訊息。
  • UNSPECIFIED:表示處理效果不明。
per_processing_request_info[].processing_effect_details 字串 當 processing_effect 為 MUTATION_REJECTED 時,系統會顯示變動遭拒的詳細原因。

僅適用於區域性外部應用程式負載平衡器、區域性內部應用程式負載平衡器,以及跨區域內部應用程式負載平衡器。

resource 字串 擴充功能資源名稱

監控

本節說明如何監控使用 Service Extensions 設定的 Cloud Load Balancing 呼叫。

查看 Monitoring 資訊主頁

應用程式負載平衡器會將監控資料匯出至 Cloud Monitoring。

Monitoring 指標可用於以下用途:

  • 評估負載平衡器的設定、用量和效能
  • 問題疑難排解
  • 提高資源利用率和使用者體驗

如要查看預先定義的資訊主頁,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往「Dashboards overview」(資訊主頁總覽) 頁面。

    前往「Dashboards overview」(資訊主頁總覽)

  2. 在「Categories」(類別) 專區中,點選「GCP」。
    • 如要查看「所有」負載平衡器的資訊主頁清單,請在「GCP Dashboards」(GCP 資訊主頁) 清單中,點選名為「Google Cloud Load Balancers」(Google Cloud 負載平衡器) 的資訊主頁。如要查看特定負載平衡器的資訊主頁,請從清單找出並點選負載平衡器的名稱。
    • 如要查看僅限負載平衡器的預先定義資訊主頁,請選取適當的資訊主頁。

除了 Monitoring 預先定義的資訊主頁,您可透過 Cloud Monitoring API 建立自訂資訊主頁、設定警告及查詢指標。

詳情請參閱應用程式負載平衡器說明文件的「監控及疑難排解」頁面,例如「內部應用程式負載平衡器記錄和監控」。

摘要的監控指標

您可以監控呼叫後端服務的下列指標。

在預先發布版中,您可以監控所有類型應用程式負載平衡器的擴充功能指標。這些指標的前置字元為 networkservices.googleapis.com。下表中的項目會省略前置字元。

下表提供各項指標的指標類型、顯示名稱、種類、類型、單位和說明。

指標類型 顯示名稱
種類、類型、單位
說明
extension/invocation_count 擴充功能叫用次數
DELTA、INT64、1
傳送至擴充功能的叫用次數。
extension/invocation_latencies 擴充功能叫用延遲時間
DELTA、DISTRIBUTION、ms
根據各項擴充功能叫用延遲時間計算出的分布情形。 僅適用於摘要擴充功能,不支援外掛程式。
extension/sent_chunks_count 擴充功能傳送的區塊數量
DELTA、INT64、1
僅適用於 request_body 和 response_body 事件。 傳送至擴充功能的資料區塊數量。
extension/received_chunks_count 擴充功能收到的區塊數量
DELTA、INT64、1
僅適用於 request_body 和 response_body 事件。 從擴充功能收到的區塊數量。
extension/failed_open_count 擴充功能叫用失敗 (容錯模式)
DELTA、INT64、1
系統設為容錯模式,且要求獲准繼續執行時,叫用失敗的次數。
extension/mutation_rejections_count 擴充功能變異拒絕次數
DELTA、INT64、1
要求標頭、主體或結尾變異,但遭拒絕的叫用次數。拒絕的原因有很多,例如異動無效或超出大小限制。
extension/sent_bytes_count 擴充功能傳送的位元組數
DELTA、INT64、By
傳送至擴充功能的位元組數。
extension/received_bytes_count 擴充功能接收的位元組數
DELTA、INT64、By
從擴充功能接收的位元組數。

您也可以監控下列指標。這些指標的前置字元為 loadbalancing.googleapis.com/。表格中的項目會省略前置字元。

指標類型 顯示名稱
種類、類型、單位
說明
https/backend_request_count、
https/external/regional/backend_request_count、
https/internal/backend_request_count
後端要求數量
DELTA、INT64、1
從應用程式負載平衡器呼叫向外呼叫後端服務的次數。
https/backend_request_bytes_count、
https/external/regional/backend_request_bytes_count、
https/internal/backend_request_bytes_count
後端要求位元組數
DELTA、INT64、By
從負載平衡器傳送至呼叫後端服務的位元組數。
https/backend_response_bytes_count、
https/external/regional/backend_response_bytes_count、
https/internal/backend_response_bytes_count
後端回應位元組
DELTA、INT64、By
負載平衡器從擴充功能後端接收的位元組數。
https/backend_latencies、
https/external/regional/backend_latencies、
https/internal/backend_latencies
後端延遲時間
DELTA、DISTRIBUTION、ms
這項分布情形的計算依據,是負載平衡器和呼叫後端服務之間,每次擴充功能叫用的延遲時間總和。取樣頻率為每 60 秒一次。

後續步驟