本文說明如何搭配 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 |
陣列 | ProcessingRequest 擴充功能 ext_proc 的統計資料清單,或透過 gRPC 串流發生的 ext_authz 擴充功能 CheckRequest 統計資料清單。 |
per_processing_request_info[].event_type |
列舉 | ProcessingRequest 的事件類型。可以是下列任一值:
REQUEST_HEADERS、REQUEST_BODY、
RESPONSE_HEADERS 或 RESPONSE_BODY。
|
per_processing_request_info[].latency |
持續時間 | 從將訊息的第一個位元組傳送至擴充功能,到接收訊息的最後一個位元組為止的期間。ProcessingRequestProcessingResponse |
per_processing_request_info[].processing_effect |
列舉 | 處理要求中每個事件的處理結果。僅適用於區域性外部應用程式負載平衡器、區域性內部應用程式負載平衡器,以及跨區域內部應用程式負載平衡器。
可以是下列其中一個值:
|
per_processing_request_info[].processing_effect_details |
字串 | 當 processing_effect 為 MUTATION_REJECTED 時,系統會提供變更遭拒的詳細原因。僅適用於區域性外部應用程式負載平衡器、區域性內部應用程式負載平衡器,以及跨區域內部應用程式負載平衡器。 |
resource |
字串 | 擴充功能資源名稱 |
監控
本節說明如何監控使用 Service Extensions 設定的 Cloud Load Balancing 呼叫。
查看監控資訊主頁
應用程式負載平衡器會將監控資料匯出至 Cloud Monitoring。
監控指標可用於以下目的:
- 評估負載平衡器的設定、用量和效能
- 問題疑難排解
- 提高資源利用率和使用者體驗
如要查看預先定義的資訊主頁,請按照下列步驟操作:
- 前往 Google Cloud 控制台的「資訊主頁總覽」頁面。
- 在「類別」部分中,按一下「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 秒一次。 |