記錄
您可以啟用、停用及查看外部應用程式負載平衡器後端服務的記錄功能。
您可以為每個後端服務啟用或停用記錄功能。您可以設定要記錄所有要求,還是隨機取樣一小部分。
請務必確認您沒有適用於外部應用程式負載平衡器的記錄排除項目。如要瞭解如何確認系統允許 Cloud HTTP Load
Balancer
記錄,請參閱排除篩選器。
記錄取樣和收集
系統會對負載平衡器後端虛擬機器 (VM) 執行個體處理的要求 (和相應的回應) 進行取樣。接著系統會處理這些取樣要求,產生記錄。您可以根據 logConfig.sampleRate
參數,控制以記錄項目形式發出的要求比例。如果 logConfig.sampleRate
為 1.0
(100%),表示系統會為所有要求產生記錄,並寫入 Cloud Logging。
選填欄位
記錄包含必填欄位和選填欄位。「記錄內容」一節會列出選填和必填欄位。所有必填欄位一律會納入。您可以自訂要保留哪些選填欄位。
如果選取「包含所有選用欄位」,記錄會包含記錄格式中的所有選用欄位。記錄格式新增選用欄位時,記錄會自動納入這些新欄位。
如果選取「排除所有選填欄位」,系統就會省略所有選填欄位。
如果選取「自訂」,可以指定要納入的選用欄位,例如
tls.protocol,tls.cipher,orca_load_report.cpu_utilization,orca_load_report.mem_utilization
。
如要瞭解如何自訂選填欄位,請參閱「啟用新後端服務的記錄功能」。
啟用新後端服務的記錄功能
主控台
前往 Trusted Cloud 控制台的「Load Balancing」(負載平衡) 頁面。
點選負載平衡器的名稱。
按一下「編輯」
。按一下「後端設定」。
選取「建立後端服務」。
填寫後端服務的必填欄位。
在「記錄」部分,勾選「啟用記錄」核取方塊。
設定「Sample rate」(取樣率) 分數。您可以設定從
0.0
到1.0
的數字,其中0.0
表示不會記錄任何要求,1.0
則代表有 100% 的要求會記錄完畢。預設值為1.0
。選用:如要在記錄中加入所有選填欄位,請在「選填欄位」部分中,按一下「包含所有選填欄位」。
點選「更新」,完成編輯後端服務。
按一下「更新」,完成負載平衡器的編輯作業。
gcloud:區域模式
使用 gcloud compute backend-services create
指令建立後端服務並啟用記錄功能。
gcloud compute backend-services create BACKEND_SERVICE \ --region=REGION \ --enable-logging \ --logging-sample-rate=VALUE \ --load-balancing-scheme=EXTERNAL_MANAGED \ --logging-optional=LOGGING_OPTIONAL_MODE \ --logging-optional-fields=OPTIONAL_FIELDS
其中
--region
表示後端服務是區域性服務。這個欄位適用於搭配區域性外部應用程式負載平衡器使用的後端服務。--enable-logging
可為該後端服務啟用記錄功能。--logging-sample-rate
可讓您指定介於0.0
到1.0
之間的值,其中0.0
表示不會記錄任何要求,1.0
則表示會記錄所有要求。這個欄位僅適用於--enable-logging
參數。啟用記錄功能但將取樣率設為0.0
,等同於停用記錄功能。預設值為1.0
。--logging-optional
可讓您指定要納入記錄的選用欄位:INCLUDE_ALL_OPTIONAL
,包含所有選填欄位。EXCLUDE_ALL_OPTIONAL
(預設) 排除所有選填欄位。CUSTOM
,即可納入您在OPTIONAL_FIELDS
中指定的自訂選填欄位清單。
--logging-optional-fields
可讓您指定以半形逗號分隔的選用欄位清單,這些欄位會納入記錄中。舉例來說,只有在
LOGGING_OPTIONAL_MODE
設為CUSTOM
時,才能設定tls.protocol,tls.cipher
。如果您使用自訂指標,並想記錄 ORCA 載入報表的元素,請將LOGGING_OPTIONAL_MODE
設為CUSTOM
,並在OPTIONAL_FIELDS
欄位中指定要記錄的元素。例如:orca_load_report.cpu_utilization,orca_load_report.mem_utilization
。
啟用現有後端服務的記錄功能
主控台
前往 Trusted Cloud 控制台的「Load Balancing」(負載平衡) 頁面。
點選負載平衡器的名稱。
按一下「編輯」
。按一下「後端設定」。
按一下後端服務旁的
「Edit」(編輯)。在「記錄」部分,勾選「啟用記錄」核取方塊。
在「Sample rate」(取樣率) 欄位中,設定取樣機率。您可以設定從
0.0
到1.0
的數字,其中0.0
表示不會記錄任何要求,1.0
則代表有 100% 的要求會記錄完畢。預設值為1.0
。選用:如要在記錄中加入所有選填欄位,請在「選填欄位」部分中,按一下「包含所有選填欄位」。
點選「更新」,完成編輯後端服務。
按一下「更新」,完成負載平衡器的編輯作業。
gcloud:區域模式
使用 gcloud compute backend-services update
指令,啟用現有後端服務的記錄功能。
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --enable-logging \ --logging-sample-rate=VALUE \ --logging-optional=LOGGING_OPTIONAL_MODE \ --logging-optional-fields=OPTIONAL_FIELDS
其中
--region
表示後端服務是區域性服務。這個欄位適用於搭配區域性外部應用程式負載平衡器使用的後端服務。--enable-logging
可為該後端服務啟用記錄功能。--logging-sample-rate
可讓您指定介於0.0
到1.0
之間的值,其中0.0
表示不會記錄任何要求,1.0
則表示會記錄所有要求。這個值僅在使用--enable-logging
參數時有作用。啟用記錄功能但將取樣率設為0.0
,等同於停用記錄功能。預設值為1.0
。--logging-optional
可讓您指定要納入記錄的選填欄位。INCLUDE_ALL_OPTIONAL
,包含所有選填欄位。EXCLUDE_ALL_OPTIONAL
(預設) 排除所有選填欄位。CUSTOM
,即可納入您在OPTIONAL_FIELDS
中指定的自訂選填欄位清單。
--logging-optional-fields
可讓您指定以半形逗號分隔的選用欄位清單,這些欄位會納入記錄中。例如:
tls.protocol,tls.cipher
。只有在LOGGING_OPTIONAL_MODE
設為CUSTOM
時,才能設定這個值。
停用或修改現有後端服務的記錄功能
主控台
前往 Trusted Cloud 控制台的「Load Balancing」(負載平衡) 頁面。
點選負載平衡器的名稱。
按一下「編輯」
。按一下「後端設定」。
按一下後端服務旁的
「Edit」(編輯)。如要完全停用記錄功能,請在「記錄」部分取消勾選「啟用記錄功能」核取方塊。
如果您保持啟用記錄功能,即可設定不同的「Sample rate」(取樣率) 分數。您可以設定從
0.0
到1.0
的數字,其中0.0
表示不會記錄任何要求,1.0
則代表有 100% 的要求會記錄完畢。預設值為1.0
。舉例來說,0.2
表示取樣要求中有 20% 會產生記錄。點選「更新」,完成編輯後端服務。
按一下「更新」,完成負載平衡器的編輯作業。
gcloud:區域模式
使用 gcloud compute backend-services update
指令停用後端服務的記錄功能。
完全停用記錄功能
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --no-enable-logging
其中
--region
表示後端服務是區域性服務。這個欄位適用於搭配區域性外部應用程式負載平衡器使用的後端服務。--no-enable-logging
可停用該後端服務的記錄功能。
啟用現有後端服務的選填記錄欄位
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --enable-logging \ --logging-sample-rate=VALUE \ --logging-optional=LOGGING_OPTIONAL_MODE \ --logging-optional-fields=OPTIONAL_FIELDS
其中
--logging-sample-rate
可讓您指定介於0.0
到1.0
之間的值,其中0.0
表示不會記錄任何要求,1.0
則表示會記錄所有要求。這個值僅在使用--enable-logging
參數時有作用。啟用記錄功能但將取樣率設為0.0
,等同於停用記錄功能。預設值為1.0
。--logging-optional
可讓您指定要納入記錄的選用欄位:INCLUDE_ALL_OPTIONAL
,包含所有選填欄位。EXCLUDE_ALL_OPTIONAL
(預設) 排除所有選填欄位。CUSTOM
,即可納入您在OPTIONAL_FIELDS
中指定的自訂選填欄位清單。
--logging-optional-fields
可讓您指定以半形逗號分隔的選用欄位清單,這些欄位會納入記錄中。舉例來說,只有在
LOGGING_OPTIONAL_MODE
設為CUSTOM
時,才能設定tls.protocol,tls.cipher
。如果您使用自訂指標,並想記錄 ORCA 載入報表的元素,請將LOGGING_OPTIONAL_MODE
設為CUSTOM
,並在OPTIONAL_FIELDS
欄位中指定要記錄的元素。例如:orca_load_report.cpu_utilization,orca_load_report.mem_utilization
。
將記錄選用模式從 CUSTOM 更新為其他模式
gcloud compute backend-services update BACKEND_SERVICE \ --global \ --enable-logging \ --logging-sample-rate=VALUE \ --logging-optional=LOGGING_OPTIONAL_MODE \ --logging-optional-fields=
其中
--logging-optional
可讓您指定要納入記錄的選用欄位:INCLUDE_ALL_OPTIONAL
,包含所有選填欄位。EXCLUDE_ALL_OPTIONAL
(預設) 排除所有選填欄位。
必須明確設定
--logging-optional-fields
,如圖所示清除所有現有的CUSTOM
欄位。API 不允許您將非CUSTOM
模式與CUSTOM
欄位合併。
修改記錄取樣率
gcloud compute backend-services update BACKEND_SERVICE \ --global | --region=REGION \ --logging-sample-rate=VALUE
查看記錄
系統會依序按照轉送規則和網址對應為 HTTP(S) 記錄建立索引。
如要查看記錄,請前往「Logs Explorer」(記錄檔探索工具) 頁面:
如要查看所有記錄,請在「Resource」(資源) 篩選器選單中,選取「Cloud HTTP Load Balancer」(Cloud HTTP 負載平衡器) > All forwarding rules」(所有轉送規則)。
如要查看某個轉送規則的記錄,請選取單一轉送規則名稱。
如要查看某個網址對應的記錄,請選取轉送規則,然後選取網址對應。
「布林」類型的記錄欄位通常只會在欄位的值為 true
時才會顯示。如果布林欄位的值為 false
,則記錄檔會省略該欄位。
系統會對記錄檔欄位強制採用 UTF-8 編碼。非 UTF-8 字元都會替換為問號。
對於區域性外部應用程式負載平衡器,您可以使用資源記錄 (resource.type="http_external_regional_lb_rule"
) 匯出記錄指標。
記錄內容
外部應用程式負載平衡器記錄項目包含的資訊實用,有助於監控 HTTP(S) 流量及執行偵錯作業。記錄包含必要欄位,也就是每個記錄的預設欄位。
記錄包含選用欄位,可新增 HTTP(S) 流量的相關資訊。如不需要,也可以跳過選填欄位,節省儲存空間費用。
某些記錄欄位採用多欄位格式,也就是指定欄位會包含多項資料。舉例來說,tls
欄位採用的格式是 TlsInfo
,也就是一個欄位同時包含 TLS 通訊協定和 TLS 密碼。下表說明這些多欄位格式的欄位。
欄位 | 欄位格式 | 欄位類型:必要或選填 | 說明 |
---|---|---|---|
severity insertID timestamp logName |
LogEntry | 必填 | 記錄項目中說明的一般欄位。 |
httpRequest | HttpRequest | 必填 | 記錄 HTTP 要求的常見通訊協定。 |
resource | MonitoredResource | 必填 | MonitoredResource 是與記錄項目相關聯的資源類型。 MonitoredResourceDescriptor 會使用型別名稱和一組標籤,描述 |
jsonPayload | object (Struct format) | 必填 | 以 JSON 物件表示的記錄項目酬載。JSON 物件包含下列欄位:
|
字串 | 必填 |
如果值為空白字串,系統不會記錄該欄位。如果 Proxy 或後端未傳回狀態碼,或傳回的狀態碼不是
|
|
AuthzPolicyInfo | 必填 | authzPolicyInfo 欄位會儲存授權政策結果的相關資訊。這項資訊僅適用於已啟用
授權政策的區域性外部應用程式負載平衡器。詳情請參閱「
授權政策記錄內容」。 |
|
TlsInfo | 選用 |
使用
您無法將 |
|
MtlsInfo | 選用 |
|
|
字串 | 選用 | backendNetworkName 欄位會指定後端的 VPC 網路。 |
|
OrcaLoadReport | 選用 |
使用
您也可以將 |
TlsInfo 欄位格式
欄位 | 欄位格式 | 欄位類型:必要或選填 | 說明 |
---|---|---|---|
通訊協定 | 字串 | 選用 | 用戶端用來與負載平衡器建立連線的 TLS 通訊協定。可能的值為 TLSv1 、TLSv1.1 、TLSv1.2 、TLSv1.3 或 QUIC 。如果用戶端未使用 TLS/SSL 加密,這個值會設為 NULL 。
|
cipher | 字串 | 選用 | 用戶端用於與負載平衡器建立連線的 TLS 密碼。如果用戶端未使用 HTTP(S) 或 TLS/SSL 加密,這個值會設為 NULL 。 |
MtlsInfo 欄位格式
欄位 | 欄位格式 | 欄位類型:必要或選填 | 說明 |
---|---|---|---|
clientCertPresent | bool | 選用 |
|
clientCertChainVerified | bool | 選用 |
|
clientCertError | 字串 | 選用 | 代表錯誤情況的預先定義字串。如要進一步瞭解錯誤字串,請參閱「用戶端驗證模式」。 |
clientCertSha256Fingerprint | 字串 | 選用 | 用戶端憑證的 Base64 編碼 SHA-256 指紋。 |
clientCertSerialNumber | 字串 | 選用 | 用戶端憑證的序號。
如果序號長度超過 50 個位元組,系統會將字串 |
clientCertValidStartTime | 字串 | 選用 | 用戶端憑證失效前的時間戳記 (RFC 3339 日期字串格式)。例如: |
clientCertValidEndTime | 字串 | 選用 | 時間戳記 (RFC 3339 日期字串格式),標記了用戶端憑證失效的時間點。例如: |
clientCertSpiffeId | 字串 | 選用 | 主體別名 (SAN) 欄位中的 SPIFFE ID。如果值無效或超過 2048 個位元組,SPIFFE ID 會設為空字串。 如果 SPIFFE ID 長度超過 2048 個位元組,系統會將 |
clientCertUriSans | 字串 | 選用 | 以逗號分隔的 Base64 編碼清單,列出 URI 類型的 SAN 擴充功能。系統會從用戶端憑證擷取 SAN 擴充功能。
SPIFFE ID 不會包含在 如果 |
clientCertDnsnameSans | 字串 | 選用 | 以逗號分隔的 Base64 編碼清單,列出 DNSName 類型的 SAN 擴充功能。系統會從用戶端憑證擷取 SAN 擴充功能。 如果 |
clientCertIssuerDn | 字串 | 選用 | 憑證中 Base64 編碼的完整簽發者欄位。 如果 |
clientCertSubjectDn | 字串 | 選用 | 憑證中 Base64 編碼的完整「主體」欄位。 如果 |
clientCertLeaf | 字串 | 選用 | 已建立 mTLS 連線的用戶端葉子憑證,且該憑證已通過驗證。憑證編碼符合 RFC 9440: 二進位 DER 憑證會使用 Base64 編碼 (不含換行符、 空格或 Base64 字母以外的其他字元),並以兩側的半形冒號做為分隔符。 如果 |
clientCertChain | 字串 | 選用 | 以半形逗號分隔的憑證清單 (採用標準 TLS 順序),適用於已建立的 mTLS 連線,且用戶端憑證已通過驗證 (不含葉節點憑證)。憑證編碼符合 RFC 9440 規範。 如果 |
資源標籤
下表列出 resource.type="http_external_regional_lb_rule"
的資源標籤。
欄位 | 類型 | 說明 |
---|---|---|
backend_name |
字串 | 後端執行個體群組或 NEG 的名稱。不過,如果TLS 連線失敗,標籤就會空白。 |
backend_scope |
字串 |
後端的範圍 (區域名稱或地區名稱)。當 backend_name 不明時,可能為 UNKNOWN 。 |
backend_scope_type |
字串 |
後端的範圍 (REGION /ZONE )。當 backend_name 不明時,可能為 UNKNOWN 。 |
backend_target_name |
字串 | 根據與要求相符的網址對應路徑規則或轉送規則,選擇用於處理要求的後端名稱。 |
backend_target_type |
字串 |
後端目標的類型。可以是 BACKEND_SERVICE ,如果未指派後端,則會傳回 UNKNOWN 。 |
backend_type |
字串 |
後端群組的類型。如果未指派後端,則可為 INSTANCE_GROUP 、NETWORK_ENDPOINT_GROUP 或傳回 UNKNOWN 。 |
forwarding_rule_name |
字串 | 轉送規則物件的名稱。 |
matched_url_path_rule |
字串 |
網址對應路徑規則或轉送規則,設定為網址對應鍵的一部分。可以把 UNMATCHED 或 UNKNOWN 當做備用值。
|
network_name |
字串 | 負載平衡器的 VPC 網路名稱。 |
project_id |
字串 | 與這個資源相關聯的 Trusted Cloud 專案 ID。 |
region |
字串 | 定義負載平衡器的區域。 |
target_proxy_name |
字串 | 轉送規則所參照的目標 Proxy 物件名稱。 |
url_map_name |
字串 | 設定用來選取後端服務的網址對應物件名稱。
如果 TLS 連線失敗,url_map_name 會是空白。 |
proxyStatus 錯誤欄位
proxyStatus
欄位包含的字串會說明負載平衡器傳回錯誤的原因。「proxyStatus
」欄位包含兩個部分:「proxyStatus error
」和「proxyStatus details
」。本節說明 proxyStatus error
欄位支援的字串。
proxyStatus 錯誤欄位適用於下列負載平衡器:
- 區域性外部應用程式負載平衡器
- 跨區域內部應用程式負載平衡器
- 區域性內部應用程式負載平衡器
proxyStatus 錯誤 | 說明 | 常見隨附回應碼 |
---|---|---|
destination_unavailable
|
負載平衡器會將後端視為無法使用,舉例來說,最近嘗試與後端通訊時發生錯誤,或是健康狀態檢查結果為失敗。 | 500 ,503
|
connection_timeout
|
負載平衡器嘗試開啟與後端的連線時逾時。 | 504
|
connection_terminated
|
負載平衡器與後端的連線在收到完整回應前終止。 在下列任一情況下,系統都會傳回此
|
0 、502 、503
|
connection_refused
|
負載平衡器連線至後端遭拒。 | 502 ,503
|
connection_limit_reached
|
負載平衡器已設定後端連線數上限,且已超過該上限。 在下列任一情況下,系統都會傳回
|
502 ,503
|
destination_not_found
|
負載平衡器無法判斷要使用哪個後端來處理這項要求。舉例來說,後端可能未設定。 | 500 ,404
|
dns_error
|
負載平衡器嘗試尋找後端主機名稱的 IP 位址時,發生 DNS 錯誤。 | 502 ,503
|
proxy_configuration_error
|
負載平衡器發生內部設定錯誤。 | 500
|
proxy_internal_error
|
負載平衡器發生內部錯誤。這個錯誤可能是因為管理連線的 Proxy 預定重新啟動所致。 | 0 、500 、502
|
proxy_internal_response
|
負載平衡器產生回應,但未嘗試連線至後端。 | 根據問題類型,可能出現任何狀態碼。舉例來說,410 狀態碼表示後端因付款逾期而無法使用。
|
http_response_timeout
|
負載平衡器等待後端傳回完整回應時,達到設定的後端服務逾時上限。 | 504 ,408
|
http_request_error
|
負載平衡器發生 HTTP 4xx 錯誤,表示用戶端要求有問題。 | 400 、403 、405 、406 、408 、411 、413 、414 、415 、416 、417 或 429
|
http_protocol_error
|
負載平衡器與後端通訊時發生 HTTP 通訊協定錯誤。 | 502
|
tls_protocol_error
|
負載平衡器在 TLS 交握期間發生 TLS 錯誤。 | 0
|
tls_certificate_error
|
啟用 mTLS 時,負載平衡器在驗證伺服器或用戶端提供的憑證時發生錯誤。 | 0
|
tls_alert_received
|
負載平衡器在 TLS 握手期間遇到嚴重 TLS 快訊。 | 0
|
proxyStatus 詳細資料欄位
proxyStatus
欄位包含的字串會說明負載平衡器傳回錯誤的原因。「proxyStatus
」欄位包含兩個部分:「proxyStatus error
」和「proxyStatus details
」。proxyStatus details
欄位為選填欄位,只有在有額外資訊時才會顯示。
本節說明 proxyStatus details
欄位支援的字串。
proxyStatus 詳細資料欄位適用於下列負載平衡器:
- 區域性外部應用程式負載平衡器
- 區域性內部應用程式負載平衡器
- 跨區域內部應用程式負載平衡器
proxyStatus 詳細資料 | 說明 | 常見的隨附回應狀態碼 |
---|---|---|
client_disconnected_before_any_response
|
在負載平衡器傳送任何回應前,用戶端連線已中斷。 | 0 |
backend_connection_closed
|
後端意外關閉其負載平衡器連線。如果負載平衡器正在將流量傳送給其他實體 (例如 TCP 逾時比負載平衡器的 10 分鐘 (600 秒) 逾時短的第三方應用程式),就可能發生這種情況。 | 502
|
failed_to_connect_to_backend
|
負載平衡器無法連線至後端。這項失敗包括連線階段的逾時。 | 503
|
failed_to_pick_backend
|
負載平衡器無法挑選健康狀態良好的後端來處理要求。 | 502
|
response_sent_by_backend
|
成功將 HTTP 要求經由 Proxy 傳送至後端,且後端已傳回回應。 | HTTP 狀態碼是由後端執行的軟體設定。 |
client_timed_out
|
負載平衡器與用戶端之間的連線超過閒置逾時時間。 如要進一步瞭解區域性外部應用程式負載平衡器,請參閱「用戶端 HTTP 保持運作逾時」。如要進一步瞭解內部應用程式負載平衡器,請參閱用戶端 HTTP 保持運作逾時。 |
0 ,408
|
backend_timeout
|
後端在產生回應時逾時。 |
502
|
http_protocol_error_from_backend_response
|
後端回應包含 HTTP 通訊協定錯誤。 | 501 ,502
|
http_protocol_error_from_request
|
用戶端要求包含 HTTP 通訊協定錯誤。 | 400 ,503
|
http_version_not_supported
|
系統不支援 HTTP 通訊協定版本。僅支援 HTTP 1.1 和 2.0。 | 400
|
handled_by_identity_aware_proxy
|
這是 Identity-Aware Proxy (IAP) 在驗證用戶端身分時產生的回應,驗證通過後才會允許存取。 | 200 、302 、400 、401 、403 、500 、502
|
invalid_request_headers
|
從用戶端收到的 HTTP 要求標頭包含至少一個字元,但適用 HTTP 規格不允許使用該字元。 舉例來說,如果標頭欄位名稱包含雙引號 ( 如需詳細資訊,請參閱: |
400 ,404
|
ip_detection_failed
|
系統無法偵測原始 IP 位址。 | 根據失敗的性質,可能出現任何狀態碼。值必須介於 400 至 599 之間。 |
request_body_too_large
|
HTTP 要求主體超過負載平衡器支援的長度上限。 | 413 ,507
|
request_header_timeout
|
負載平衡器未在 5 秒內收到完整要求,因此要求標頭逾時。 | 408 ,504
|
denied_by_security_policy
|
由於有 Google Cloud Armor 安全性政策,負載平衡器已拒絕這個要求。 | 403
|
throttled_by_security_policy
|
要求遭到 Cloud Armor 節流規則封鎖。 | 429
|
client_cert_chain_invalid_eku
|
用戶端憑證或其簽發者沒有包含 clientAuth 的擴充金鑰用途。詳情請參閱「已關閉連線的記錄錯誤」。 | 0
|
client_cert_chain_max_name_constraints_exceeded
|
用於驗證的中繼憑證含有超過 10 個名稱限制。詳情請參閱「已關閉連線的記錄錯誤」。 | 0
|
client_cert_invalid_rsa_key_size
|
用戶端葉子或中繼憑證的 RSA 金鑰大小無效。 詳情請參閱「已關閉連線的記錄錯誤」。 | 0
|
client_cert_not_provided
|
在交握期間,用戶端未提供要求的憑證。 詳情請參閱「已關閉連線的記錄錯誤」。 | 0
|
client_cert_pki_too_large
|
用於驗證的 PKI 有超過三個共用相同 Subject 和 Subject Public Key Info 的中繼憑證。詳情請參閱「已關閉連線的記錄錯誤」。
|
0
|
client_cert_unsupported_elliptic_curve_key
|
用戶端或中繼憑證使用的橢圓曲線不受支援。詳情請參閱「已關閉連線的記錄錯誤」。 | 0
|
client_cert_unsupported_key_algorithm
|
用戶端或中繼憑證使用非 RSA 或非 ECDSA 的演算法。詳情請參閱「已關閉連線的記錄錯誤」。 | 0
|
client_cert_validation_failed
|
用戶端憑證未通過 TrustConfig 驗證。
詳情請參閱「已關閉連線的記錄錯誤」。
|
0
|
client_cert_validation_not_performed
|
您已設定雙向 TLS,但未設定 TrustConfig 。
詳情請參閱「已關閉連線的記錄錯誤」。
|
0
|
client_cert_validation_search_limit_exceeded
|
嘗試驗證憑證鏈結時,已達到深度或疊代限制。詳情請參閱「已關閉連線的記錄錯誤」。 | 0 |
client_cert_validation_timed_out
|
驗證憑證鏈結時超出時間限制 (200 毫秒)。 詳情請參閱「已關閉連線的記錄錯誤」。 | 0
|
tls_version_not_supported
|
系統可辨識 TLS 通訊協定版本,但無法支援。這個錯誤會導致 TLS 連線關閉。 | 0
|
unknown_psk_identity
|
如果伺服器要求建立 PSK 金鑰,但用戶端未提供可接受的 PSK 身分識別,就會傳送這項錯誤。這個錯誤會導致 TLS 連線關閉。 | 0
|
no_application_protocol
|
當用戶端「application_layer_protocol_negotiation」擴充功能只會宣傳伺服器不支援的通訊協定時,伺服器就會傳送這項訊息。請參閱「TLS 應用程式層通訊協定交涉擴充功能」。 這個錯誤會導致 TLS 連線關閉。 | 0
|
no_certificate
|
找不到任何憑證。這個錯誤會導致 TLS 連線關閉。 | 0
|
bad_certificate
|
憑證無效,或含有無法驗證的簽名。這個錯誤會導致 TLS 連線關閉。 | 0
|
unsupported_certificate
|
憑證類型不受支援。這個錯誤會導致 TLS 連線關閉。 | 0
|
certificate_revoked
|
憑證已遭簽署者撤銷。這個錯誤會導致 TLS 連線關閉。 | 0
|
certificate_expired
|
憑證已過期或無效。這個錯誤會導致 TLS 連線關閉。 | 0
|
certificate_unknown
|
處理憑證時發生不明問題,導致憑證無法接受。這個錯誤會導致 TLS 連線關閉。 | 0
|
unknown_ca
|
系統收到有效憑證鏈結或部分鏈結,但由於找不到 CA 憑證,或 CA 憑證與已知信任錨點不符,因此無法接受該憑證。這個錯誤會導致 TLS 連線關閉。 | 0
|
unexpected_message
|
不當訊息,例如錯誤的信號交換訊息或過早收到應用程式資料。這個錯誤會導致 TLS 連線關閉。 | 0
|
bad_record_mac
|
收到無法解除保護的記錄。這個錯誤會導致 TLS 連線關閉。 | 0
|
record_overflow
|
收到的 TLSCiphertext 記錄長度超過 214+256 個位元組,或解密後的記錄長度超過 214 個位元組 (或其他協商的限制)。TLSPlaintext 這個錯誤會導致 TLS 連線關閉。
|
0
|
handshake_failure
|
無法根據可用選項,協商出一組可接受的安全參數。這個錯誤會導致 TLS 連線關閉。 | 0
|
illegal_parameter
|
交握中的某個欄位有誤,或與其他欄位不一致。 這個錯誤會導致 TLS 連線關閉。 | 0
|
access_denied
|
系統已收到有效憑證或 PSK,但套用存取權控管後,用戶端未繼續進行交涉。這個錯誤會導致 TLS 連線關閉。 | 0
|
decode_error
|
由於部分欄位超出指定範圍,或訊息長度有誤,因此無法解碼。這個錯誤會導致 TLS 連線關閉。 | 0
|
decrypt_error
|
握手 (非記錄層) 密碼編譯作業失敗,包括無法正確驗證簽章、驗證完成的訊息或 PSK 繫結。這個錯誤會導致 TLS 連線關閉。 | 0
|
insufficient_security
|
伺服器要求的參數比用戶端支援的參數更安全,因此交涉失敗。這個錯誤會導致 TLS 連線關閉。 | 0
|
inappropriate_fallback
|
伺服器傳送此訊息,是為了回應用戶端無效的連線重試嘗試。這個錯誤會導致 TLS 連線關閉。 | 0
|
user_cancelled
|
使用者因與通訊協定失敗無關的原因取消握手。這個錯誤會導致 TLS 連線關閉。 | 0
|
missing_extension
|
由接收握手訊息的端點傳送,該訊息不含必須為提供的 TLS 版本或其他協商參數傳送的擴充功能。這個錯誤會導致 TLS 連線關閉。 | 0
|
unsupported_extension
|
由端點傳送,這些端點會收到任何含有擴充功能的交握訊息,而這些擴充功能已知禁止納入指定的交握訊息,或在 ServerHello 或 Certificate 中包含任何未先在對應的 ClientHello 或 CertificateRequest 中提供的擴充功能。
這個錯誤會導致 TLS 連線關閉。
|
0
|
unrecognized_name
|
當伺服器無法透過用戶端透過「server_name」擴充功能提供的名稱識別時,伺服器會傳送這項警示。請參閱 TLS 擴充功能定義。 | 0
|
bad_certificate_status_response
|
當伺服器透過「status_request」擴充功能提供無效或無法接受的 OCSP 回應時,用戶端會傳送這項警示。請參閱 TLS 擴充功能定義。 這個錯誤會導致 TLS 連線關閉。 | 0
|
load_balancer_configured_resource_limits_reached
|
負載平衡器已達到設定的資源限制,例如連線數量上限。 | 0
|
傳輸層安全標準 (TLS) 連線失敗記錄項目
如果用戶端與負載平衡器之間的 TLS 連線在選取任何後端之前失敗,記錄項目會記錄錯誤。您可以設定後端服務,使用不同的記錄取樣率。如果傳輸層安全標準 (TLS) 連線失敗,失敗的 TLS 連線記錄取樣率會是任何後端服務的最高取樣率。舉例來說,如果您已將兩個後端服務的記錄取樣率分別設為 0.3
和 0.5
,則失敗的 TLS 連線記錄取樣率為 0.5
。
您可以查看下列記錄項目詳細資料,找出失敗的 TLS 連線:
- proxyStatus 錯誤類型為
tls_alert_received
、tls_certificate_error
、tls_protocol_error
或connection_terminated
。 - 沒有後端資訊。
以下範例顯示含有 proxyStatus error
欄位的 TLS 失敗記錄項目:
json_payload: { @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry" proxyStatus: "error="tls_alert_received"; details="server_to_client: handshake_failure"" log_name: "projects/529254013417/logs/mockservice.googleapis.com%20name" } http_request { latency { nanos: 12412000 } protocol: "HTTP/1.0" remote_ip: "127.0.0.2" } resource { type: "mock_internal_http_lb_rule" labels { backend_name: "" backend_scope: "" backend_scope_type: "UNKNOWN" backend_target_name: "" backend_target_type: "UNKNOWN" backend_type: "UNKNOWN" forwarding_rule_name: "l7-ilb-https-forwarding-rule-dev" matched_url_path_rule: "UNKNOWN" network_name: "lb-network" region: "REGION" target_proxy_name: "l7-ilb-https-proxy-dev" url_map_name: "" } } timestamp: "2023-08-15T16:49:30.850785Z"
授權政策要求記錄
負載平衡器記錄項目 JSON 酬載中的 authz_info
物件包含授權政策相關資訊。您可以針對這些政策允許或拒絕的流量,設定以記錄為準的指標。查看更多授權政策記錄詳細資料。
欄位 | 類型 | 說明 |
---|---|---|
authz_info.policies[] |
物件 | 符合要求的政策清單。 |
authz_info.policies[].name |
字串 | 符合要求的授權政策名稱。
名稱為空白的原因如下:
|
authz_info.policies[].result |
enum | 結果可以是 ALLOWED 或 DENIED 。 |
authz_info.policies[].details |
字串 | 詳細資料包括:
|
authz_info.overall_result |
enum | 結果可以是 ALLOWED 或 DENIED 。 |
與記錄互動
您可以使用 Cloud Logging API 與外部應用程式負載平衡器記錄互動。Logging API 可讓您透過多種互動方式,篩選已設定特定欄位的記錄。並將相符的記錄匯出至 Cloud Logging、Cloud Storage、BigQuery 或 Pub/Sub。如要進一步瞭解 Logging API,請參閱 Logging API 總覽。
監控
負載平衡器會將監控資料匯出到 Monitoring。
監控指標可用於以下目的:
- 評估負載平衡器的設定、用量和效能
- 排解問題
- 改善資源利用率和使用者體驗
指標回報頻率與保留期
外部應用程式負載平衡器的指標會以 1 分鐘的精細度批次匯出至 Cloud Monitoring,而監控資料則會保留 6 週。
資訊主頁會以 1H (一小時)、6H (六小時)、1D (一天)、1W (一週) 和 6W (六週) 的預設間隔時間提供資料分析。您可以手動要求以 6W 到 1 分鐘之間的任何間隔時間進行資料分析。
監控指標
您可以監控外部應用程式負載平衡器的下列指標。
下列區域外部應用程式負載平衡器指標會回報給 Cloud Monitoring。這些指標會加上 loadbalancing.googleapis.com/
前置字元。
指標 | 名稱 | 說明 |
---|---|---|
要求數量 | https/external/regional/request_count |
由區域性外部應用程式負載平衡器提供服務的要求數量。 |
要求位元組數 | https/external/regional/request_bytes |
以要求形式從用戶端傳送至區域外部應用程式負載平衡器的位元組數。 |
回應位元組數 | https/external/regional/response_bytes |
以回應形式從區域外部應用程式負載平衡器傳送至用戶端的位元組數。 |
總延遲時間 | https/external/regional/total_latencies |
總延遲時間的分佈情形。總延遲時間是指 Proxy 收到要求的第一個位元組,到 Proxy 傳送回應的最後一個位元組之間的時間,以毫秒為單位。包括 Proxy 處理要求所花費的時間、要求從 Proxy 傳送至後端所花費的時間、後端處理要求所花費的時間、回應傳回 Proxy 所花費的時間,以及 Proxy 處理回應並將回應傳送至用戶端所花費的時間。 不包括用戶端與 Proxy 之間的 RTT。此外,在同一個連線上使用 |
後端延遲時間 | https/external/regional/backend_latencies |
後端延遲時間的分佈情形。後端延遲時間是指從傳送至後端的要求的最後一個位元組,到 Proxy 接收回應的最後一個位元組之間的時間 (以毫秒為單位)。包括後端處理要求所耗費的時間,以及將回應傳回 Proxy 所耗費的時間。 |
指標的篩選維度
您可以為外部應用程式負載平衡器的指標套用篩選器。
系統會針對每個區域性外部應用程式負載平衡器匯總指標。您可以依據下列維度篩選匯總的指標 resource.type="http_external_regional_lb_rule"
。
屬性 | 說明 |
---|---|
backend_name |
後端執行個體群組或 NEG 的名稱。 |
backend_scope |
後端的範圍 (區域名稱或地區名稱)。當 backend_name 不明時,可能為 UNKNOWN 。 |
backend_scope_type |
後端的範圍 (REGION /ZONE )。
當 backend_name 不明時,可能為 UNKNOWN 。
|
backend_target_name |
根據與要求相符的網址對應路徑規則或轉送規則,選擇用於處理要求的後端名稱。 |
backend_target_type |
後端目標的類型。可以是 BACKEND_SERVICE ,如果未指派後端,則會傳回 UNKNOWN 。 |
backend_type |
後端群組的類型。如果未指派後端,則可為 INSTANCE_GROUP 、NETWORK_ENDPOINT_GROUP 或傳回 UNKNOWN 。 |
forwarding_rule_name |
轉送規則物件的名稱。 |
matched_url_path_rule |
網址對應路徑規則或轉送規則,設定為網址對應鍵的一部分。可以把 UNMATCHED 或 UNKNOWN 當做備用值。
|
network_name |
負載平衡器的 VPC 網路名稱。 |
project_id |
與這個資源相關聯的 Trusted Cloud 專案 ID。 |
region |
定義負載平衡器的區域。 |
target_proxy_name |
轉送規則所參照的目標 Proxy 物件名稱。 |
url_map_name |
設定用來選取後端服務的網址對應物件名稱。 |