外部直通式網路負載平衡器記錄和監控

本文說明如何為外部直通網路負載平衡器設定及使用 Cloud LoggingCloud Monitoring

後端服務型外部直通式網路負載平衡器支援記錄和監控功能。不過,以目標集區為基礎的外部直通式網路負載平衡器僅支援監控功能。

記錄

記錄檔提供實用資訊,可協助您排解後端服務型外部直通式網路負載平衡器的問題,以及監控這類負載平衡器。系統會依連線匯總記錄,並以近乎即時的方式匯出。系統會針對每個負載平衡執行個體的 TCP、UDP、ESP、GRE、ICMP 和 ICMPv6 流量,產生傳入和傳出流量的記錄。如要進一步瞭解記錄項目中提供的欄位,請參閱「記錄欄位」。

使用記錄不會產生額外費用。視記錄匯入方式而定,系統會依 Cloud Logging、BigQuery 或 Pub/Sub 的標準價格計費。啟用記錄不會影響負載平衡器的效能。

記錄有下列優點:

  • 監控外部直通式網路負載平衡器流量。透過連線記錄,您可以瞭解每個連線如何路由至服務後端。

  • 排解網路問題。您可以利用外部直通式網路負載平衡器記錄檔排解問題。 詳情請參閱「排解外部直通網路負載平衡器的相關問題」。

外部用戶端至 VM 流程的記錄格式範例

下圖顯示外部用戶端 (203.0.113.7)、外部直通式網路負載平衡器 (198.51.100.99) 和後端執行個體 (10.240.0.2) 的輸入和輸出流量。

外部用戶端到後端 VM 服務的流程。
外部用戶端與 VM 之間的輸入和輸出流程。

從用戶端到後端執行個體的連線,其外部直通式網路負載平衡器記錄格式如下:

  • connection.clientIp:203.0.113.7
  • connection.serverIp:198.51.100.99
  • bytesSent:1256
  • bytesReceived: 4521

記錄取樣和收集

Google Cloud 會對進出負載平衡器後端 VM 的封包進行取樣,系統會處理這些取樣封包,產生記錄。

並非每個封包都會取樣。 Google Cloud 會根據實體主機上的流量,對封包的可變子集進行取樣。最低取樣率為每 1,024 個封包取樣 1 個。取樣率由 Google Cloud動態控制。取樣率無法調整。

封包取樣與防火牆規則的互動方式如下:

  • 系統會在套用輸出防火牆規則「之前」取樣封包。
  • 系統會在套用輸入防火牆規則,對封包進行取樣。

封包取樣後, Google Cloud 會按照下列程序處理取樣封包:

  1. 匯總:系統會匯總每五秒間隔的取樣封包,產生單一流量項目。

  2. 可設定的 (次要) 記錄檔取樣:這是第二個取樣程序,用於取樣流量。您可以根據 logConfig.sampleRate 參數,控制要以記錄項目形式發出的流程項目比例。如果 logConfig.sampleRate1.0 (100%),表示所有取樣封包都會經過處理。

  3. 寫入記錄:記錄項目會寫入 Cloud Logging。

選填欄位

記錄包含必填欄位和選填欄位。「Log fields」(記錄欄位) 部分會列出選填和必填欄位。所有必填欄位一律會納入。你可以自訂要保留哪些選填欄位。

  • 如果選取「包含所有選用欄位」,則所有記錄格式中的選用欄位都會納入流程記錄。在記錄格式中新增選用欄位時,系統會自動將新欄位納入流量記錄。

  • 如果選取「排除所有選填欄位」,系統會省略所有選填欄位。

  • 如果選取「自訂」,您可以依父項欄位 (例如 serverInstance) 或完整名稱 (例如 serverInstance.vm) 指定要加入的選用欄位。

如果記錄格式新增選用欄位,除非這些欄位是您指定要納入的父項欄位中的新欄位,否則記錄不會包含這些欄位。

如果您使用父項欄位指定自訂選用欄位,當新選用欄位新增至該父項欄位內的記錄格式時,記錄會自動納入新欄位。舉例來說,如果您選擇加入 optionalFieldA,系統就會自動將名稱為 optionalFieldA.subField1 的新欄位加入記錄。

如需自訂選用欄位的操作說明,請參閱「為新的後端服務啟用記錄功能」。

回應封包來源 IP 位址規定

只有在封包的來源 IP 位址與負載平衡器的轉送規則 IP 位址相符時,記錄檔才會對後端 VM 的回應封包進行取樣。如果是 TCP 連線,回應封包的來源一律須與要求封包的目的地相符;但如果是其他通訊協定,回應封包可能會使用不同的來源 IP 位址。詳情請參閱「要求和傳回封包的 IP 位址」。

如果後端 VM 的回應封包來源與外部直通式網路負載平衡器的轉送規則 IP 位址不符,外部直通式網路負載平衡器記錄檔使用的封包取樣程序就會略過這些回應封包。

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

控制台

  1. 前往 Google Cloud 控制台的「Load balancing」(負載平衡)頁面。

    前往「Load balancing」(負載平衡) 頁面

  2. 點選負載平衡器的名稱。
  3. 按一下「編輯」,然後點選「後端設定」
  4. 選取「建立後端服務」,然後填寫必要的後端服務欄位。
  5. 在「記錄」部分,勾選「啟用記錄」核取方塊。
  6. 設定「Sample rate」(取樣率) 分數。您可以將比率設為 0.01.0 (預設值)。
  7. 選用:如要在記錄中加入所有選填欄位,請在「選填欄位」部分點選「包含所有選填欄位」
  8. 點選「更新」,完成編輯後端服務。
  9. 點選「更新」,完成編輯負載平衡器。

gcloud

使用 gcloud compute backend-services create 指令建立後端服務,啟用記錄功能。

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

更改下列內容:

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

    這個欄位的值必須介於 0.0 to 1.0 之間,其中 0.0 表示不會產生任何記錄,而 1.0 表示會為所有取樣封包產生記錄。啟用記錄功能但將取樣率設為 0.0,等同於停用記錄功能。預設值為 1.0

  • LOGGING_OPTIONAL:您要納入記錄的選填欄位:
    • INCLUDE_ALL_OPTIONAL,即可納入所有選填欄位。
    • EXCLUDE_ALL_OPTIONAL (預設) 排除所有選填欄位。
    • CUSTOM,納入您在 OPTIONAL_FIELDS 中指定的自訂選用欄位清單。
  • OPTIONAL_FIELDS:以半形逗號分隔的選用欄位清單,當中列出您想納入記錄的欄位。

    例如,serverInstance.vm,serverGkeDetails。只有在 LOGGING_OPTIONAL 設為 CUSTOM 時,才能設定這個值。

API

regionBackendServices.insert 方法發出 POST 要求。

    POST https://compute.googleapis.com/compute/v1/projects/`PROJECT_ID`/regions/`REGION`/backendServices
    

排除所有選填欄位

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

包含所有選填欄位

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

包含自訂選填欄位清單

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "CUSTOM",
       "optionalFields": ["field1","field2",...]
      }
    }
    

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

控制台

  1. 前往 Google Cloud 控制台的「Load balancing」(負載平衡)頁面。

    前往「Load balancing」(負載平衡) 頁面

  2. 點選負載平衡器的名稱。
  3. 按一下「編輯」,然後點選「後端設定」
  4. 按一下後端服務旁的「編輯」
  5. 在「記錄」部分,勾選「啟用記錄」核取方塊。
  6. 設定「Sample rate」(取樣率) 分數。您可以將速率設為 0.01.0 (預設值)。
  7. 選用:如要在記錄中加入所有選填欄位,請在「選填欄位」部分中,按一下「包含所有選填欄位」
  8. 點選「更新」,完成編輯後端服務。
  9. 點選「更新」,完成編輯負載平衡器。

gcloud

使用 gcloud compute backend-services update 指令,啟用現有後端服務的記錄功能。

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

更改下列內容:

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

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

  • LOGGING_OPTIONAL:您要納入記錄的選填欄位:
    • INCLUDE_ALL_OPTIONAL,即可納入所有選填欄位。
    • EXCLUDE_ALL_OPTIONAL (預設) 排除所有選填欄位。
    • CUSTOM,納入您在 OPTIONAL_FIELDS 中指定的自訂選用欄位清單。
  • OPTIONAL_FIELDS:以半形逗號分隔的選用欄位清單,當中列出您想納入記錄的欄位。

    例如,serverInstance.vm,serverGkeDetails。只有在 LOGGING_OPTIONAL 設為 CUSTOM 時,才能設定這個值。

API

regionBackendServices/patch 方法發出 PATCH 要求。

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

排除所有選填欄位

     "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "EXCLUDE_ALL_OPTIONAL"
      }
     

包含所有選填欄位

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

包含自訂選填欄位清單

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "CUSTOM",
       "optionalFields": ["field1","field2",...]
      }
    }
    

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

主控台

  1. 前往 Google Cloud 控制台的「Load balancing」(負載平衡)頁面。

    前往「Load balancing」(負載平衡)

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

  3. 按一下「編輯」,然後按一下「後端設定」

  4. 如要完全停用記錄功能,請在「記錄」部分取消勾選「啟用記錄功能」核取方塊。

  5. 如果您保持啟用記錄功能,即可設定不同的「Sample rate」(取樣率) 分數。您可以將速率設為 0.01.0 (預設值)。如要只為 20% 的取樣封包產生記錄,請將值設為 0.2

  6. 點選「更新」,完成編輯後端服務。

  7. 點選「更新」,完成編輯負載平衡器。

gcloud

使用 gcloud compute backend-services update 指令,停用後端服務的記錄功能。

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

更改下列內容:

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

API

regionBackendServices/patch 方法發出 PATCH 要求。

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

 {
 "logConfig": {
   "enable": false
  }
 }
 

查看記錄

記錄檔擷取至 Cloud Logging 後,如果未透過記錄檔路由器接收器排除,您可以使用 Cloud Logging APIGoogle Cloud CLI 讀取記錄檔。

如要查看所有外部直通式網路負載平衡器記錄,請按照下列步驟操作:

主控台

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

    前往記錄檔探索工具

  2. 選取「外部直通式網路負載平衡器規則」資源類型。

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

控制台查詢

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

    前往記錄檔探索工具

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

  3. 將下列內容貼到查詢欄位。請將 PROJECT_ID 改成您的專案 ID。

    resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows"
    
  4. 點選「執行查詢」

查看特定後端服務的記錄

如要查看特定後端服務的外部直通式網路負載平衡器記錄,請按照下列步驟操作:

控制台查詢

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

    前往記錄檔探索工具

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

  3. 將下列內容貼到查詢欄位。將 PROJECT_ID 替換為專案 ID,並將 BACKEND_SERVICE_NAME 替換為後端服務名稱。

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

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

如要查看特定後端執行個體群組的外部直通式網路負載平衡器記錄,請按照下列步驟操作:

控制台查詢

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

    前往記錄檔探索工具

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

  3. 將下列內容貼到查詢欄位。將 PROJECT_ID 替換為專案 ID,並將 BACKEND_GROUP_NAME 替換為執行個體群組的名稱。

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

記錄檔欄位

記錄包含做為每個記錄預設欄位的幾個必要欄位,以及用來新增其他資訊的選填欄位。如不需要,也可以跳過選填欄位,節省儲存空間費用。

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

受監控的資源是 loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule

欄位 欄位格式 欄位類型:必要或選填 說明
連結 IpConnection 必填 描述這個連線的 5 元組。
startTime 字串 必填 採用 RFC 3339 日期字串格式的時間戳記,標記了在匯總時間間隔內發現第一個封包的時間點。
endTime 字串 必填 採用 RFC 3339 日期字串格式的時間戳記,標記了在匯總時間間隔內發現最後一個封包的時間點。
bytesSent int64 必填 從伺服器傳送至用戶端的位元組數。
bytesReceived int64 必填 伺服器從用戶端收到的位元組數。
packetsSent int64 必填 從伺服器傳送至用戶端的封包數。
packetsReceived int64 必填 伺服器從用戶端接收的封包數。
rtt 字串 必填

延遲時間僅適用於 TCP 連線。延遲時間是預估網路往返時間 (RTT) 的總和,加上在用戶端作業系統中處理封包所耗費的時間。

如果是取樣封包,系統會從負載平衡後端的角度計算 RTT,方法是測量後端傳送 TCP 區段與後端接收所傳區段序號的 TCP 應答之間的時間差。

延遲時間的格式為字串,開頭為秒數,結尾為「s」,表示秒數。奈秒會以秒的小數表示,例如 250 毫秒的延遲時間會格式化為「0.250000000s」。

serverInstance InstanceDetails 選用 後端 VM 執行個體詳細資料。
clientLocation GeographicDetails 選用 用戶端可用的位置中繼資料。
serverGkeDetails GkeDetails 選用 伺服器後端的 GKE 中繼資料。僅適用於後端是 GKE 端點的情況。
networkTier NetworkTierDetails 選用 外部連線的網路層級,只有在用戶端不在Google Cloud內時才會填入。

IpConnection 欄位格式

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

InstanceDetails 欄位格式

欄位 類型 說明
projectId 字串 針對 VM 所在的專案列出 ID
vm 字串 VM 的執行個體名稱
region 字串 VM 地區
區域 字串 VM 區域
vmIp 字串 提供連線的網路介面主要內部 IPv4 位址

GeographicDetails 欄位格式

欄位 類型 說明
大陸 字串 洲別名稱
regionCode 字串 Unicode CLDR 地區代碼,例如 USFR。大部分國家的代碼都可以與 ISO-3166-2 代碼直接對應。
subRegion 字串 Unicode CLDR 分區 ID,例如國家/地區的省或州,如 USCACAON。這些 Unicode 代碼是從 ISO-3166-2 標準所定義的分區衍生出來的。
city 字串 城市名稱,例如加州山景城的 Mountain View。這個變數沒有有效值的標準清單。城市名稱可包含 US-ASCII 字母、數字、空格及下列字元:!#$%&'*+-.^_`|~
asn int32 這個端點所屬外部網路的自治系統編號 (ASN)。

GkeDetails 欄位格式

欄位 類型 說明
叢集 ClusterDetails GKE 叢集中繼資料
pod PodDetails GKE Pod 中繼資料,會在流量來源或目的地為 Pod 時填入
service ServiceDetails GKE 服務中繼資料,僅在服務端點中填入。 記錄最多可包含兩項服務。如果相關服務超過兩項,這個欄位會包含單一服務,並附上特殊的 MANY_SERVICES 標記。

ClusterDetails 欄位格式

欄位 類型 說明
叢集 字串 GKE 叢集名稱
clusterLocation 字串 叢集位置。叢集位置可以是可用區或區域。

PodDetails 欄位格式

欄位 類型 說明
pod 字串 Pod 名稱
podNamespace 字串 Pod 的命名空間

ServiceDetails 欄位格式

欄位 類型 說明
service 字串 服務名稱。如果相關服務超過兩項,則該欄位會設為特殊的 MANY_SERVICES 標記。
serviceNamespace 字串 服務的命名空間

NetworkTierDetails 欄位格式

欄位 類型 說明
networkTier 字串 連線中使用的 NetworkTier,可以是 [PREMIUM、STANDARD、FIXED_STANDARD、UNKNOWN] 其中之一。

監控

外部直通式網路負載平衡器會將重要指標匯出至 Cloud Monitoring

監控指標可用於以下目的:

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

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

查看 Monitoring 資訊主頁

主控台

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

    前往「Monitoring」頁面

  2. 在導覽窗格中,選取「Dashboards」(資訊主頁)

  3. 選取「Google Cloud 負載平衡器」資訊主頁。系統會顯示所有負載平衡器。

  4. 從負載平衡器清單中選取負載平衡器名稱。

在「外部直通式網路負載平衡器詳細資料」窗格中,您可以查看所選負載平衡器的各種詳細資料。這個窗格會顯示目前的設定。

在「主要指標」窗格中,您可以查看各項主要指標的圖表。如要查看特定細目,請按一下「細目」。這個窗格會顯示歷史記錄設定提供的資料,而「外部直通式網路負載平衡器詳細資料」窗格只會顯示目前的設定。詳情請參閱「資訊主頁和圖表」。

定義 Monitoring 自訂資訊主頁

您可以針對外部直通式網路負載平衡器指標建立自訂 Monitoring 資訊主頁。

如需收集的指標清單,請參閱「指標和資源類型」。如要查看可用於篩選結果的屬性清單,請參閱「篩選器」。

主控台

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

    前往「Monitoring」頁面

  2. 依序選取「資訊主頁」>「建立資訊主頁」

  3. 按一下 [Add chart] (新增圖表)

  4. 為圖表命名。

  5. 選取指標和篩選器。

    如要尋找外部直通式網路負載平衡器指標,請搜尋 loadbalancing.googleapis.com/l3/external 前置字串。

  6. 按一下 [儲存]

定義 Monitoring 快訊

您可以透過各種外部直通式網路負載平衡器指標定義 Monitoring 快訊

主控台

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

    前往「Monitoring」頁面

  2. 依序選取「Alerting」(快訊)>「Create a Policy」(建立政策)

  3. 選取資源類型和指標。

    如要尋找外部直通網路負載平衡器資源類型和指標,請在「Find resource type and metric」(尋找資源類型和指標) 欄位中搜尋 loadbalancing.googleapis.com/l3/external

  4. 指定「設定」,設定快訊的觸發時機。

  5. 視需要新增「篩選器」

  6. 按一下 [儲存]

指標回報頻率與保留期

外部直通式網路負載平衡器的指標會以 1 分鐘的精細度批次匯出至 Monitoring,監控資料會保留六週。 指標是根據取樣流量計算而得 (取樣率為動態,無法調整)。資訊主頁會以一小時 (1H)、六小時 (6H)、一天 (1D)、一週 (1W) 和六週 (6W) 的預設間隔時間提供資料分析。您可以手動索取從六週到六十秒之間任何間隔時間的資料分析。

指標與資源類型

本節說明外部直通式網路負載平衡器的指標和資源類型。

指標

系統會將下列外部直通式網路負載平衡器的指標回報給 Monitoring。提出 API 要求時,可以使用這些指標名稱。

metric_name 類型 說明
loadbalancing.googleapis.com/l3/external/ingress_bytes_count 計數器 從用戶端傳送至外部直通式網路負載平衡器後端的位元組數。如果是 TCP 流量,系統只會計算應用程式串流中的位元組。
loadbalancing.googleapis.com/l3/external/ingress_packets_count 計數器 從用戶端傳送至外部直通式網路負載平衡器後端的封包數。
loadbalancing.googleapis.com/l3/external/egress_bytes_count 計數器 從外部直通式網路負載平衡器後端傳送至用戶端的位元組數。如果是 TCP 流量,系統只會計算應用程式串流中的位元組。
loadbalancing.googleapis.com/l3/external/egress_packets_count 計數器 從外部直通式網路負載平衡器後端傳送至用戶端的封包數。
loadbalancing.googleapis.com/l3/external/rtt_latencies 發行

針對外部直通式網路負載平衡器流量,透過 TCP 連線測得的 RTT 分佈情形。

僅適用於 TCP 流量。

資源類型

外部直通式網路負載平衡器使用下列資源類型:

  • tcp_lb_rule
  • udp_lb_rule
  • loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule

外部直通式網路負載平衡器可支援 TCP、UDP、ESP、GRE、ICMP 和 ICMPv6 流量。

您可以將資源類型指定為 tcp_lb_ruleudp_lb_rule,將監控資料限制為 TCP 或 UDP 通訊協定。您可以將資源類型指定為 loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule,監控所有支援的通訊協定,包括 TCP、UDP、ESP、GRE、ICMP 和 ICMPv6 通訊協定。

篩選器

系統會針對每個外部直通式網路負載平衡器匯總指標。您可以依據下列維度篩選匯總的指標。

tcp_lb_ruleudp_lb_rule 的資源標籤

您可以依資源限制查詢。您也可以依這些值將結果分組。

resource.label.<var>LABEL_KEY</var>:
label_key 類型 說明
project 字串 與這個資源相關聯的 Google Cloud 專案 ID。
load_balancer_name 字串 負載平衡器的名稱。
region 字串 負載平衡器後端所在的區域,例如 us-central1europe-west1asia-east1
network_name 字串 負載平衡器後端所在的 VPC 網路。
backend_target_type 字串 指出外部直通式網路負載平衡器是以目標集區為基礎,還是以後端服務為基礎。有效值為 BACKEND_SERVICETARGET_POOL
backend_target_name 字串 如果是以目標集區為基礎的外部直通式網路負載平衡器,請輸入目標集區的名稱。 如果是後端服務型外部直通式網路負載平衡器,則為後端服務的名稱。
forwarding_rule_name 字串 轉送規則的名稱。
forwarding_rule_network_tier 字串 轉送規則的網路層級
backend_name 字串

處理連線的後端名稱。

如果是以後端服務為基礎的外部直通式網路負載平衡器,這個值就是處理連線的後端執行個體群組或網路端點群組 (NEG) 名稱。

如果是以目標集區為基礎的外部直通式網路負載平衡器,這個值就是目標集區的名稱。

backend_type 字串

處理連線的後端類型。

如果是後端服務型外部直通式網路負載平衡器,值可以是 INSTANCE_GROUPNETWORK_ENDPOINT_GROUP

如果是以目標集區為基礎的外部直通式網路負載平衡器,則值為 TARGET_POOL

backend_scope 字串

如果是以後端服務為基礎的外部直通式網路負載平衡器,則為後端執行個體群組或 NEG 的區域或地區。

如果是以目標集區為基礎的網路負載平衡器,值為 UNSUPPORTED_FOR_TARGET_POOL

backend_scope_type 字串

處理連線的後端群組範圍類型。有效值為 ZONEREGION

如果是以目標集區為基礎的網路負載平衡器,值為 UNSUPPORTED_FOR_TARGET_POOL

backend_failover_configuration 字串 處理連線的後端群組容錯移轉設定。有效值為 PRIMARYBACKUPUNKNOWN
backend_subnetwork_name 字串 接收連線的後端子網路名稱。
endpoint_zone 字串 處理連線的後端 VM 所在可用區。

loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule」的資源標籤

您可以依資源限制查詢。您也可以依這些值將結果分組。

resource.label.<var>LABEL_KEY</var>:
label_key 類型 說明
project 字串 與此資源相關聯的 Google Cloud 專案 ID。
region 字串 負載平衡器後端所在的區域,例如 us-central1europe-west1asia-east1
backend_network_name 字串 負載平衡器後端所在的 VPC 網路。
backend_target_type 字串 處理連線的後端目標類型。有效值為 BACKEND_SERVICETARGET_POOL
backend_service_name 字串 處理連線的後端服務名稱。如果 backend_target_typeTARGET_POOL,則值為 UNSUPPORTED_FOR_TARGET_POOL
primary_target_pool 字串 主要目標集區的名稱。如果 backend_target_typeBACKEND_SERVICE,則值為 UNSUPPORTED_FOR_BACKEND_SERVICE
target_pool 字串 目標集區的名稱。如果 backend_target_typeBACKEND_SERVICE,則值為 UNSUPPORTED_FOR_BACKEND_SERVICE
forwarding_rule_name 字串 外部直通式網路負載平衡器轉送規則的名稱。
backend_group_name 字串 處理連線的後端群組名稱。 如果 backend_target_typeTARGET_POOL,則值為 UNSUPPORTED_FOR_TARGET_POOL
backend_group_type 字串

處理連線的後端群組類型。

如果 backend_target_typeBACKEND_SERVICE,則值為 INSTANCE_GROUPNETWORK_ENDPOINT_GROUP

如果 backend_target_typeTARGET_POOL,則值為 UNSUPPORTED_FOR_TARGET_POOL

backend_group_scope 字串 處理連線的後端群組範圍 (區域或地區名稱)。如果 backend_target_typeTARGET_POOL,則值為 UNSUPPORTED_FOR_TARGET_POOL
backend_subnetwork_name 字串 接收連線的後端子網路名稱。
backend_zone 字串 處理連線的後端 VM 所在可用區。

指標標籤

您可以依指標標籤限制查詢。您也可以依這些值將結果分組。

metric.label.<var>LABEL_KEY</var>:
label_key 類型 說明
client_country 字串 發起連線至外部直通式網路負載平衡器的用戶端所在國家/地區。
client_continent 字串 發起連線至外部直通式網路負載平衡器的用戶端所在洲別。
protocol 字串

loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule 資源連線中的通訊協定。

如果是 tcp_lb_ruleudp_lb_rule 資源,這個欄位會留空。

監控 API 要求

您可以透過 Monitoring API 的 v3 projects.timeSeries.list 要求,對外部直通式網路負載平衡器指標建構任意查詢。各種定義的確切結構遵循一般監控篩選器語意。

API 要求範例

  • 在 2019 年 7 月 1 日世界標準時間下午 12:00 至 12:02 期間,取得專案中所有外部直通網路負載平衡器傳送的所有位元組,並以 1 分鐘為間隔進行匯總。

    timeSeries.list 參數:

    • name: projects/PROJECT_ID
    • 篩選條件: resource.type = "tcp_lb_rule" AND metric.name="loadbalancing.googleapis.com/l3/external/egress_bytes_count"
    • interval.start_time: 2019-07-01T12:00:00Z
    • interval.end_time: 2019-07-01T12:02:00Z
    • aggregation.alignmentPeriod: 60s
    • aggregation.crossSeriesReducer: REDUCE_SUM
    • aggregation.perSeriesAligner: ALIGN_SUM
  • 在 2019 年 7 月 1 日世界標準時間下午 12:19 至 12:20 期間,取得專案中所有外部直通式網路負載平衡器的中位數 RTT 測量結果,並依用戶端國家/地區細分。

    timeSeries.list 參數:

    • name: projects/PROJECT_ID
    • 篩選條件: resource.type = "tcp_lb_rule" AND metric.name="loadbalancing.googleapis.com/l3/external/rtt_latencies"
    • interval.start_time: 2019-07-01T12:19:00Z
    • interval.end_time: 2019-07-01T12:20:00Z
    • aggregation.alignmentPeriod: 60s
    • aggregation.crossSeriesReducer: REDUCE_SUM
    • aggregation.groupByFields: metric.label.client_country
    • aggregation.perSeriesAligner: ALIGN_PERCENTILE_50
  • 在 2019 年 7 月 1 日世界標準時間下午 12:19 至 12:20 期間,取得特定外部直通式網路負載平衡器的總位元組數,並依端點區域和用戶端所在洲別細分。

    timeSeries.list 參數:

    • name: projects/PROJECT_ID
    • 篩選器: resource.type = "tcp_lb_rule" AND resource.label.load_balancer_name = "netlb-bs-1" AND metric.name="loadbalancing.googleapis.com/l3/external/ingress_bytes_count"
    • interval.start_time: 2019-07-01T12:19:00Z
    • interval.end_time: 2017-07-01T12:20:00Z
    • aggregation.alignmentPeriod: 60s
    • aggregation.crossSeriesReducer: REDUCE_SUM
    • aggregation.groupByFields: metric.label.client_continent
    • aggregation.groupByFields: resource.label.endpoint_zone
    • aggregation.perSeriesAligner: ALIGN_SUM

後續步驟