Proxy 網路負載平衡器記錄與監控

本頁面說明如何設定及使用 Cloud LoggingCloud Monitoring 來監控 Proxy Network Load Balancer。

監控資源

下表列出負載平衡器的資源名稱。

區域性外部 Proxy 網路負載平衡器

區域性內部 Proxy 網路負載平衡器

跨區域內部 Proxy 網路負載平衡器

全域外部 Proxy 網路負載平衡器

傳統版 Proxy 網路負載平衡器
記錄受控資源類型 「Proxy Network Load Balancer Rule」
l4_proxy_rule
「全域外部 Proxy 網路負載平衡器規則」
tcp_ssl_proxy_rule
監控受控資源類型 「Proxy Network Load Balancer Rule」
l4_proxy_rule
「全域外部 Proxy 網路負載平衡器規則」
tcp_ssl_proxy_rule

Proxy 網路負載平衡器的記錄

記錄會提供有用的資訊,協助您排解問題及監控負載平衡器。系統會匯總每個連線的記錄,讓您瞭解每個連線如何路由至服務後端。

使用記錄不會產生額外費用。不過,根據您匯入記錄的方式,Cloud Logging 的標準價格、BigQuery 或 Pub/Sub 會一併適用。此外,啟用記錄不會影響負載平衡器的效能。

記錄取樣和收集

系統會對進出負載平衡器後端虛擬機器 (VM) 執行個體的連線進行取樣。系統會處理這些取樣的連線,並產生記錄。您可以根據 logConfig.sampleRate 參數,控制要以記錄項目形式傳送的連線比例。如果 logConfig.sampleRate1.0 (100%),表示系統會為所有連線產生記錄,並將記錄寫入 Cloud Logging。

啟用新後端服務的記錄功能

gcloud

使用 gcloud compute backend-services create 指令

區域性外部 Proxy 網路負載平衡器和區域性內部 Proxy 網路負載平衡器:

    gcloud compute backend-services create BACKEND_SERVICE \
        --region=REGION \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE
    

全域外部 Proxy 網路負載平衡器、傳統 Proxy 網路負載平衡器或跨區域內部 Proxy 網路負載平衡器:

    gcloud compute backend-services create BACKEND_SERVICE \
        --global \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE
    

更改下列內容:

  • BACKEND_SERVICE:後端服務名稱。
  • REGION:要建立的後端服務區域。
  • SAMPLE_RATE:只有在為該後端服務啟用記錄功能時,才能指定這個欄位。

    欄位的值必須介於 0.0 to 1.0 之間,其中 0.0 表示不會回報任何記錄,而 1.0 則表示會記錄所有連線。啟用記錄功能但將取樣率設為 0.0,等同於停用記錄功能。預設值為 1.0

API

regionBackendServices.insert 方法發出 POST 要求:

區域性內部 Proxy 網路負載平衡器:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "INTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

區域性外部 Proxy 網路負載平衡器:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

全域外部 Proxy 網路負載平衡器:

backendServices.insert 方法發出 POST 要求:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

針對傳統版 Proxy 網路負載平衡器:

backendServices.insert 方法發出 POST 要求:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

針對跨區域內部 Proxy 網路負載平衡器:

backendServices.insert 方法發出 POST 要求:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "INTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

更改下列內容:

  • BACKEND_SERVICE:後端服務名稱。
  • SAMPLE_RATE:只有在為該後端服務啟用記錄功能時,才能指定這個欄位。

    欄位的值必須介於 0.0 to 1.0 之間,其中 0.0 表示不會回報任何記錄,而 1.0 則表示會記錄所有連線。啟用記錄功能但將取樣率設為 0.0,等同於停用記錄功能。預設值為 1.0

啟用現有後端服務的記錄功能

gcloud

使用 gcloud compute backend-services update 指令

區域性外部 Proxy 網路負載平衡器和區域性內部 Proxy 網路負載平衡器:

    gcloud compute backend-services update BACKEND_SERVICE \
        --region=REGION \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE
    

全域外部 Proxy 網路負載平衡器、傳統 Proxy 網路負載平衡器或跨區域內部 Proxy 網路負載平衡器:

    gcloud compute backend-services update BACKEND_SERVICE \
        --global \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE
    

更改下列內容:

  • BACKEND_SERVICE:後端服務名稱。
  • REGION:要建立的後端服務區域。
  • SAMPLE_RATE:只有在為該後端服務啟用記錄功能時,才能指定這個欄位。

    欄位的值必須介於 0.0 to 1.0 之間,其中 0.0 表示不會回報任何記錄,而 1.0 則表示會記錄所有連線。啟用記錄功能但將取樣率設為 0.0,等同於停用記錄功能。預設值為 1.0

API

regionBackendServices/patch 方法發出 PATCH 要求:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE
     

區域性內部 Proxy 網路負載平衡器:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "INTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

區域性外部 Proxy 網路負載平衡器:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

全域外部 Proxy 網路負載平衡器:

backendServices/patch 方法發出 PATCH 要求:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

針對傳統版 Proxy 網路負載平衡器:

backendServices/patch 方法發出 PATCH 要求:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

針對跨區域內部 Proxy 網路負載平衡器:

backendServices/patch 方法發出 PATCH 要求:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "INTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

更改下列內容:

  • PROJECT_ID:專案名稱。
  • BACKEND_SERVICE:後端服務名稱。
  • SAMPLE_RATE:只有在為該後端服務啟用記錄功能時,才能指定這個欄位。

    欄位的值必須介於 0.0 to 1.0 之間,其中 0.0 表示不會回報任何記錄,而 1.0 則表示會記錄所有連線。啟用記錄功能但將取樣率設為 0.0,等同於停用記錄功能。預設值為 1.0

停用現有後端服務的記錄功能

gcloud

使用 gcloud compute backend-services update 指令

區域性外部 Proxy 網路負載平衡器和區域性內部 Proxy 網路負載平衡器:

gcloud compute backend-services update BACKEND_SERVICE \
   --region=REGION \
   --no-enable-logging

全域外部 Proxy 網路負載平衡器、傳統 Proxy 網路負載平衡器或跨區域內部 Proxy 網路負載平衡器:

gcloud compute backend-services update BACKEND_SERVICE \
   --global \
   --no-enable-logging

更改下列內容:

  • BACKEND_SERVICE:後端服務名稱。
  • REGION:後端服務的區域。

API

區域性外部 Proxy 網路負載平衡器和區域性內部 Proxy 網路負載平衡器:

regionBackendServices/patch 方法發出 PATCH 要求:

 PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE
  {
  "logConfig": {
    "enable": false
   }
  }
 

全域外部 Proxy 網路負載平衡器、傳統 Proxy 網路負載平衡器或跨區域內部 Proxy 網路負載平衡器:

backendServices/patch 方法發出 PATCH 要求:

 PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
  {
  "logConfig": {
    "enable": false
   }
  }
 

更改下列內容:

  • PROJECT_ID:專案名稱。
  • REGION:後端服務的區域。
  • BACKEND_SERVICE:後端服務名稱。

查看記錄

記錄檔擷取至 Cloud Logging 後,如果未透過 Log Router 匯出目的地排除,您可以使用 Cloud Logging APIGoogle Cloud CLI 讀取記錄檔。

如要查看所有記錄,請完成下列步驟。

主控台

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

    前往「Logs Explorer」

  2. 選取「Proxy Network Load Balancer Rule」資源類型。

  3. 選取「loadbalancing.googleapis.com/connections」記錄名稱。

控制台查詢

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

    前往「Logs Explorer」

  2. 按一下「顯示查詢」切換鈕。

  3. 將下列內容貼到查詢欄位中。

    resource.type="LOG_RESOURCE_TYPE"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
    
  4. 點選「執行查詢」

更改下列內容:

  • LOG_RESOURCE_TYPE:將記錄監控資源類型設為 l4_proxy_ruletcp_ssl_proxy_rule
  • PROJECT_ID:專案名稱。

查看特定後端服務的記錄

如要查看特定後端服務的記錄,請完成下列步驟。

控制台查詢

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

    前往「Logs Explorer」

  2. 按一下「顯示查詢」切換鈕。

  3. 將下列內容貼到查詢欄位中。

    resource.type="LOG_RESOURCE_TYPE"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
    resource.labels.backend_service_name="BACKEND_SERVICE_NAME"
    
  4. 點選「執行查詢」

更改下列內容:

  • LOG_RESOURCE_TYPE:將記錄監控資源類型設為 l4_proxy_ruletcp_ssl_proxy_rule
  • PROJECT_ID:專案名稱。
  • BACKEND_SERVICE_NAME:後端服務的名稱。

查看後端執行個體群組的記錄

如要查看特定後端執行個體群組的記錄,請完成下列步驟。

控制台查詢

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

    前往「Logs Explorer」

  2. 按一下「顯示查詢」切換鈕。

  3. 將下列內容貼到查詢欄位中。

    resource.type="LOG_RESOURCE_TYPE"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
    resource.labels.backend_group_name="BACKEND_GROUP_NAME"
    
  4. 點選「執行查詢」

更改下列內容:

  • LOG_RESOURCE_TYPE:將記錄監控資源類型設為 l4_proxy_ruletcp_ssl_proxy_rule
  • PROJECT_ID:專案名稱。
  • BACKEND_GROUP_NAME:執行個體群組的名稱。

記錄內容

記錄項目包含的資訊實用,有助於監控流量及進行偵錯。記錄包含必填欄位,這些欄位是每個記錄的預設欄位。

欄位 欄位格式 欄位類型:必填或選填 說明
severity
timestamp
receiveTimestamp
insertID
logName
LogEntry 必填 記錄項目中所述的一般欄位。
resource MonitoredResource 必填

MonitoredResource 是與記錄檔項目相關聯的資源類型。

MonitoredResourceDescriptor 會使用類型名稱和一組標籤,描述 MonitoredResource 物件的結構定義。詳情請參閱「資源標籤」。

jsonPayload object (Struct 格式) 必填 以 JSON 物件表示的記錄項目酬載。JSON 物件包含下列欄位:
  • statusDetails
  • Google Cloud Armor 安全性政策記錄項目
  • proxyStatus 欄位包含字串,可指出全域外部 Proxy 網路負載平衡器、區域性外部 Proxy 網路負載平衡器和內部 Proxy 網路負載平衡器為何傳回錯誤代碼。這個欄位不支援傳統 Proxy 網路負載平衡器。

    如果值為空白字串,系統就不會記錄該欄位。如果 Proxy 傳回的錯誤代碼不是 04XX5XX,就可能發生這種情況。

    proxyStatus 欄位包含兩個部分:

  • backendNetworkName:指定後端的 VPC 網路。

記錄檔欄位

記錄包含必填欄位,這些欄位是每個記錄的預設欄位。

某些記錄欄位在指定欄位中包含多項資料,這些記錄欄位採用多欄位格式。舉例來說,connection 欄位的格式是 IpConnection,也就是一個欄位同時包含來源和目的地 IP 位址及通訊埠,外加通訊協定等資料。下表說明這些多欄位記錄欄位。

下表列出資源 l4_proxy_rule 的所有必要記錄欄位。

欄位 欄位格式 說明
connection IpConnection 描述此連線的 5 元組。
startTime 字串 負載平衡器接受用戶端連線時的時間戳記 (採用 RFC 3339 日期字串格式)。
endTime 字串 用戶端或後端終止連線時的時間戳記 (採用 RFC 3339 日期字串格式)。
bytesSent int64 從伺服器傳送至用戶端的位元組數。
bytesReceived int64 伺服器從用戶端收到的位元組數。

IpConnection 欄位格式

欄位 類型 說明
clientIp 字串 用戶端 IP 位址
clientPort int32 用戶端通訊埠。僅適用於 TCP 和 UDP 連線。
serverIp 字串 伺服器 IP 位址 (轉送規則 IP)
serverPort int32 伺服器通訊埠。僅適用於 TCP 和 UDP 連線。
protocol int32 IANA 通訊協定號碼

proxyStatus 錯誤欄位

proxyStatus 欄位包含字串,可指定負載平衡器傳回錯誤的原因。proxyStatus 欄位包含兩個部分,proxyStatus errorproxyStatus details。本節說明 proxyStatus error 欄位支援的字串。

proxyStatus error 欄位適用於下列負載平衡器:

  • 全域外部 Proxy 網路負載平衡器
  • 區域性外部 Proxy 網路負載平衡器
  • 跨區域內部 Proxy 網路負載平衡器
  • 區域性內部 Proxy 網路負載平衡器
proxyStatus 錯誤 說明 常見隨附回應代碼
destination_unavailable 負載平衡器會將後端視為無法使用。舉例來說,最近嘗試與後端通訊時失敗,或是健康檢查可能導致失敗。 500503
connection_timeout 負載平衡器嘗試開啟與後端的連線時逾時。 504
connection_terminated

負載平衡器與後端的連線在收到完整回應前就已結束。

在下列任一情況下,系統會傳回這個 proxyStatus error

  • 負載平衡器與後端的連線在收到完整回應前就已結束。
  • TLS 連線在 SSL 交握時失敗,用戶端未與負載平衡器建立連線。

0502503
connection_refused 負載平衡器無法連線至後端。 502503
connection_limit_reached

負載平衡器已設為限制與後端的連線數量,但已超過該限制。

在下列任一情況下,系統會傳回此 proxyStatus error

  • 如果任何後端處於維護模式,就無法將流量轉送至後端。
  • 如果要求受到本機頻率限制。
  • Envoy 會處理記憶體不足等錯誤狀況。
502503
destination_not_found 負載平衡器無法判斷要為這項要求使用哪個適當的後端。例如,後端可能未設定。 500404
dns_error 負載平衡器嘗試為後端主機名稱找出 IP 位址時,發生 DNS 錯誤。 502503
proxy_configuration_error 負載平衡器發生內部設定錯誤。 500
proxy_internal_error 負載平衡器發生內部錯誤。這可能是因為管理連線的 Proxy 已排定重新啟動而導致錯誤。 0500502
proxy_internal_response 負載平衡器未嘗試連線至後端,就產生回應。 根據問題類型,可能出現任何狀態碼。舉例來說,410 狀態碼表示由於付款逾期,後端無法使用。
tls_protocol_error 負載平衡器在 TLS 交握期間發生 TLS 錯誤。 0
tls_certificate_error 負載平衡器在驗證伺服器提供的憑證時發生錯誤。 0
tls_alert_received 負載平衡器在 TLS 握手期間遇到致命的 TLS 快訊。 0

proxyStatus 詳細資料欄位

proxyStatus 欄位包含字串,可指定負載平衡器傳回錯誤的原因。proxyStatus 欄位包含兩個部分,proxyStatus errorproxyStatus detailsproxyStatus details 欄位為選填欄位,只有在有額外資訊時才會顯示。本節說明 proxyStatus details 欄位支援的字串。

「proxyStatusDetails」欄位適用於下列負載平衡器:

  • 全域外部 Proxy 網路負載平衡器
  • 區域性外部 Proxy 網路負載平衡器
  • 區域性內部 Proxy 網路負載平衡器
  • 跨區域內部 Proxy 網路負載平衡器
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
handled_by_identity_aware_proxy 這個回應是由 Identity-Aware Proxy (IAP) 在驗證用戶端身分後產生,以便系統決定是否允許存取。 200302400401403500502
request_overall_timeout 已超出總要求逾時時間。詳情請參閱「已關閉連線的記錄錯誤」。 408503504
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 憑證與已知信任錨點。這會導致 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 由端點傳送,該端點收到任何握手訊息,其中包含已知禁止納入特定握手訊息的擴充功能,或是在 ServerHelloCertificate 中納入任何擴充功能,但該擴充功能並未在對應的 ClientHelloCertificateRequest 中首次提供。這會導致 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.30.5,則失敗的 TLS 連線記錄取樣率為 0.5

您可以查看下列記錄項目詳細資料,找出失敗的 TLS 連線:

  • proxyStatus 錯誤類型為 tls_alert_receivedtls_certificate_errortls_protocol_errorconnection_terminated
  • 沒有任何後端資訊。

以下範例顯示失敗的 TLS 記錄項目,其中包含 proxyStatus error 欄位:

   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"
  

資源標籤

下表列出資源類型 l4_proxy_rule 的資源標籤。

欄位 類型 說明
network_name 字串 負載平衡器的 VPC 網路名稱。
project_id 字串 與此資源相關聯的 Google Cloud 專案 ID。
region 字串 負載平衡器的定義區域。
target_proxy_name 字串 轉送規則所參照的目標 Proxy 物件名稱。
forwarding_rule_name 字串 轉送規則物件的名稱。
loadbalancing_scheme_name 字串 負載平衡器的轉送規則和後端服務上的屬性,用於指明負載平衡器可否處理內部或外部流量。
backend_target_name 字串 系統選取用於處理要求的後端名稱。
backend_target_type 字串 後端目標 (BACKEND_SERVICE / UNKNOWN) 的類型。
backend_name 字串 後端執行個體群組或網路端點群組 (NEG) 的名稱。
backend_type 字串

後端的類型 (執行個體群組或 NEG),或不明。

即使記錄功能已停用,Cloud Logging 仍會在 backend_type 為 UNKNOWN 時記錄要求。舉例來說,如果用戶端在負載平衡器挑選後端之前關閉負載平衡器連線,backend_type 就會設為 UNKNOWN,並記錄要求。這些記錄可提供實用的偵錯資訊,協助您瞭解因負載平衡器無法選取後端而關閉的用戶端要求。

backend_scope 字串 後端的範圍,區域名稱或地區名稱。當 backend_name 不明時,可能為 UNKNOWN
backend_scope_type 字串 後端的範圍 (REGION/ZONE)。當 backend_name 不明時,可能為 UNKNOWN

監控

Proxy 網路負載平衡器會將監控資料匯出至 Cloud Monitoring

監控指標可用於以下用途:

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

除了 Monitoring 中預先定義的資訊主頁,您也可以使用 Cloud Monitoring API 建立自訂資訊主頁、設定快訊及查詢指標。

查看 Monitoring 資訊主頁

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

    前往「Monitoring」頁面

  2. 如果導覽窗格中顯示「Resources」,請依序選取「Resources」和「Google Cloud Load Balancers」。否則請選取「Dashboards」,然後選取名為「Google Cloud Load Balancers」的資訊主頁。

  3. 點選負載平衡器的名稱。

左側窗格會列出該負載平衡器的各種詳細資訊,右側窗格則會顯示時間序列圖。如要查看特定細目,請按一下「細目」

指標回報頻率與保留期

負載平衡器的指標會以 1 分鐘的精細度批次匯出至 Monitoring,監控資料會保留六 (6) 週。指標是以取樣的流量計算而得 (取樣率為動態值,無法調整)。

資訊主頁會以 1H (一小時)、6H (六小時)、1D (一天)、1W (一週) 和 6W (六週) 的預設間隔時間提供資料分析。您可以手動索取從六週到一分鐘之間任何間隔時間的資料分析。

傳統版 Proxy 網路負載平衡器的指標

系統會將下列傳統版 Proxy 網路負載平衡器指標回報至監控。

指標 名稱 說明
傳入流量 tcp_ssl_proxy/ingress_bytes_count 透過 Google Front End (GFE) 從外部端點傳送至已設定後端的位元組數 (以每秒傳送的位元組數為單位)。
傳出流量 tcp_ssl_proxy/egress_bytes_count 透過 GFE 從設定的後端傳送至外部端點的位元組數 (以每秒傳送的位元組數為單位)。
公開連線數量 tcp_ssl_proxy/open_connections 在指定取樣時間點開啟的連線數。取樣間隔為一分鐘。
每秒新增連線數 tcp_ssl_proxy/new_connections 已建立的連接數 (用戶端成功連線到後端)。計算精細程度為每分鐘,但圖表會調整為顯示每秒的值。詳情請參閱 Monitoring 說明文件
每秒關閉的連線數 tcp_ssl_proxy/closed_connections 已關閉的連線數。計算精細程度為每分鐘,但圖表會調整為顯示每秒的值。詳情請參閱 Monitoring 說明文件
前端 RTT tcp_ssl_proxy/frontend_tcp_rtt 針對用戶端和 GFE 之間的每個連線,測量之順暢往返時間 (RTT) 的分佈情況 (每次應用程式層位元組從 GFE 傳送至用戶端時,藉由 GFE 的 TCP 堆疊來測量)。平滑 RTT 是一種演算法,可處理 RTT 測量中可能發生的變化和異常。

其他負載平衡器的指標

系統會將區域內部 Proxy 網路負載平衡器、區域外部 Proxy 網路負載平衡器、跨區域內部 Proxy 網路負載平衡器和全球外部 Proxy 網路負載平衡器的下列指標回報至監控。

指標 名稱 說明
傳入流量 l4_proxy/ingress_bytes_count 使用 Proxy 從用戶端傳送至後端 VM 的位元組數。取樣頻率為每 60 秒一次。取樣完畢後,會有多達 210 秒的時間無法查看資料。
傳出流量 l4_proxy/egress_bytes_count 使用 Proxy 從後端 VM 傳送至用戶端的位元組數。取樣頻率為每 60 秒一次。取樣完畢後,會有多達 210 秒的時間無法查看資料。
每秒關閉的連線數 l4_proxy/tcp/closed_connections_count 使用 TCP RST 或 TCP FIN 訊息終止的連線數。取樣頻率為每 60 秒一次。取樣完畢後,會有多達 210 秒的時間無法查看資料。

篩選指標的維度

系統會針對每個負載平衡器匯總指標。指標可以按以下維度進一步細分:

屬性 說明
BACKEND SCOPE 提供連線的執行個體群組範圍 (地區或區域)。
BACKEND ZONE 如果執行個體群組是區域執行個體群組,則為提供連線的執行個體群組區域。
BACKEND REGION 如果執行個體群組是地區執行個體群組,則為提供連線的執行個體群組所在的地區。
PROXY CONTINENT 終止使用者 TCP/SSL 連線的 GFE 所在洲別,例如 AmericaEuropeAsia
INSTANCE GROUP 接收使用者連線的執行個體群組名稱。
FORWARDING RULE 用於連線至 GFE 的轉送規則名稱。
CLIENT COUNTRY 使用者所在國家/地區的名稱。

後續步驟