記錄檔和指標

記錄

您可以透過 Cloud NAT 記錄功能記錄 NAT 連線和錯誤。Cloud NAT 記錄功能啟用後,您可選擇在發生下列任一情況時,讓系統產生一個記錄項目:

  • 建立使用 NAT 的網路連線時。
  • 沒有可用於 NAT 的通訊埠而捨棄封包時。

您可以選擇一併記錄上述兩種事件,或者只記錄其中一種事件。

建立完成的記錄檔會傳送至 Cloud Logging

規格

下列規格適用於 Cloud NAT 記錄:

  • Cloud NAT 記錄功能只會處理 TCP 和 UDP 流量。

  • Cloud NAT 記錄功能只會記錄傳出 (Outbound) TCP 和 UDP 封包的封包遭到捨棄的情況。不會記錄已捨棄的連入封包。舉例來說,如果外送要求的內送回應因任何原因而遭到捨棄,系統就不會記錄錯誤。

每個 VM 執行個體每單位時間只能產生一定數量的記錄項目,數量與其 vCPUs 數量成正比。每個 VM 可為每個 vCPU 產生 50 到 100 個記錄項目。

  • 這個頻率門檻會影響記錄的事件數量。即使系統篩除部分事件,這些事件的發生次數仍會計入可能的記錄項目數。將記錄限制為僅顯示錯誤或僅顯示網路位址轉譯連線,不一定會增加檢視的記錄項目數量。舉例來說,如果您選擇只記錄成功的連線,連線嘗試次數和 NAT 錯誤過多,仍可能會限制成功連線記錄項目的數量。

  • Cloud NAT 記錄功能不會記錄每個封包。即使未達 VM 的速率門檻,某些情況仍可能導致事件從記錄中省略。您應根據 Cloud NAT 記錄中是否有項目來做出明智的決策,但請勿假設沒有項目就表示沒有發生事件。

設定記錄功能

如要設定 Cloud NAT 記錄功能,請按照下列步驟操作。

啟用記錄功能

記錄功能啟用後,所有收集到的記錄檔依預設都會傳送至 Cloud Logging。您可以進行篩選,讓系統只傳送特定的記錄檔。

您也可以在建立或編輯 NAT 閘道時指定這些值。以下說明如何為現有 NAT 閘道啟用記錄功能。

主控台

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

    前往 Cloud NAT

  2. 按一下 NAT 閘道。

  3. 按一下「編輯」圖示

  4. 按一下 [Advanced configurations] (進階設定)

  5. 在「記錄」部分中,選取下列其中一個選項:

    • 未啟用記錄:停用記錄功能
    • 翻譯和錯誤:將所有記錄傳送至 Logging
    • 僅翻譯:僅在建立連線時傳送記錄,不會記錄遭到捨棄的封包
    • 僅記錄錯誤:當封包因沒有可用的通訊埠而遭到捨棄時,系統會傳送記錄;不會記錄新的連線
  6. 按一下 [儲存]

gcloud

使用 gcloud compute routers nats update 指令

下列指令可為現有 NAT 閘道啟用記錄功能。

在每個指令中,請替換下列項目:

  • NAT_GATEWAY:NAT 閘道的名稱
  • ROUTER_NAME:代管 NAT 閘道的 Cloud Router 名稱
  • REGION:Cloud Router 的區域

如要記錄網路位址轉譯事件和錯誤,請按照下列步驟操作:

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-logging

如要只記錄網路位址轉譯事件,請按照下列步驟操作:

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-logging \
    --log-filter=TRANSLATIONS_ONLY

如要只記錄錯誤,請按照下列步驟操作:

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --enable-logging \
    --log-filter=ERRORS_ONLY

清除記錄檔篩選器

如果您已設定篩選器,可以清除篩選器。清除記錄篩選器,表示系統會記錄網路位址轉譯事件和錯誤 (前提是記錄功能已啟用)。

主控台

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

    前往 Cloud NAT

  2. 按一下 NAT 閘道。

  3. 按一下「編輯」圖示

  4. 按一下 [Advanced configurations] (進階設定)

  5. 在「Logging」區段中,選取「Translation and errors」

  6. 按一下 [儲存]

gcloud

使用 gcloud compute routers nats update 指令。下列指令中的 --log-filter=ALL 標記會將記錄篩選器設為接受所有記錄。

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --log-filter=ALL

更改下列內容:

  • NAT_GATEWAY:NAT 閘道的名稱
  • ROUTER_NAME:代管 NAT 閘道的 Cloud Router 名稱
  • REGION:Cloud Router 的區域

停用記錄

如要停用記錄功能,請按照下列步驟操作:

主控台

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

    前往 Cloud NAT

  2. 按一下 NAT 閘道。

  3. 按一下「編輯」圖示

  4. 按一下 [Advanced configurations] (進階設定)

  5. 在「Logging」部分中,選取「No logging」

  6. 按一下 [儲存]

gcloud

使用 gcloud compute routers nats update 指令

gcloud compute routers nats update NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION \
    --no-enable-logging

更改下列內容:

  • NAT_GATEWAY:NAT 閘道的名稱
  • ROUTER_NAME:代管 NAT 閘道的 Cloud Router 名稱
  • REGION:Cloud Router 的區域

判斷記錄狀態

如要判斷記錄狀態,請按照下列步驟操作:

主控台

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

    前往 Cloud NAT

  2. 按一下 NAT 閘道。

  3. 按一下「編輯」圖示

  4. 按一下 [Advanced configurations] (進階設定)

  5. 檢查「Logging」部分中的選項。

gcloud

gcloud compute routers nats describe NAT_GATEWAY \
    --router=ROUTER_NAME \
    --region=REGION

更改下列內容:

  • NAT_GATEWAY:NAT 閘道的名稱
  • ROUTER_NAME:代管 NAT 閘道的 Cloud Router 名稱
  • REGION:Cloud Router 的區域

查看記錄

如要查看 NAT 記錄,請按照下列步驟操作:

主控台

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

    前往「Logs Explorer」

    • 如要查看所有 NAT 記錄,請在「記錄名稱」選單中選取「Cloud NAT 閘道」
    • 如果只要查看某個地區的記錄,請在「記錄檔名稱」選單中選取「Cloud NAT Gateway」,然後將游標滑動至右側,選取所需地區。
    • 如果只要查看某個閘道的記錄,請在「記錄檔名稱」選單中選取「Cloud NAT Gateway」,然後將游標滑動至右側,選取所需區域。再次將游標滑動至右側,選取單一閘道。

或者,您也可以在查詢編輯器中輸入下列運算式:

resource.type="nat_gateway"
logName="projects/{#project_id}/logs/compute.googleapis.com%2Fnat_flows"

gcloud

gcloud logging read 'resource.type=nat_gateway' \
    --limit=10 \
    --format=json

其中:

  • resource.type=nat_gateway:將輸出內容限制在 NAT 閘道
  • --limit=10:將輸出項目限制在 10 個以內;您可以輸入其他值來查看更多或更少的項目,也可以完全省略,以便查看持續捲動的記錄
  • --format=json:以 JSON 格式顯示輸出內容

如需其他選項,請參閱「讀取記錄項目」。

您可以針對資源記錄檔設定匯出記錄指標

記錄內容

Cloud NAT 記錄項目包含的資訊適合用於監控 NAT 流量及進行偵錯。記錄項目包含下列資訊類型:

  • 多數記錄檔所示的一般資訊,如嚴重性、專案 ID、專案編號和時間戳記。 Google Cloud
  • 與 Cloud NAT 相關的特定資訊。部分記錄欄位包含本身為多個欄位的項目。這些項目和欄位說明如以下表格所示。

記錄檔欄位

欄位 意義
connection object(NatIpConnection) 7 元組,描述此連線的來源 VM IP 位址和通訊埠、NAT 來源 IP 位址和通訊埠、目的地 IP 位址和通訊埠,以及 IP 位址通訊協定。
allocation_status enum 指出此連線是否已成功分配或捨棄。請選擇 OKDROPPED
gateway_identifiers object(NatGateway) 連線使用的 NAT 閘道設定。
endpoint object(InstanceDetails) VM 執行個體詳細資料。在共用虛擬私有雲設定中,project_id 會對應至服務專案。
vpc object(VpcDetails) 虛擬私有雲 (VPC) 網路詳細資料。在共用虛擬私有雲設定中,project_id 會對應至主專案。
destination object(DestinationDetails) 連線目的地的詳細資料。

NatIpConnection 欄位格式

欄位 類型 說明
src_ip 字串 來源 IP 位址
src_port int32 來源通訊埠
nat_ip 字串 NAT IP 位址
nat_port int32 NAT 指派的通訊埠
dest_ip 字串 目的地 IP 位址 1
dest_port int32 目的地通訊埠
protocol int32 IANA 通訊協定號碼
1 針對 NAT64,這個欄位會填入目的地 IPv4 嵌入 IPv6 位址。

NatGateway 欄位格式

欄位 類型 說明
gateway_name 字串 NAT 閘道的名稱
router_name 字串 與 NAT 閘道相關聯的 Cloud Router
region 字串 Cloud Router 的區域

InstanceDetails 欄位格式

欄位 類型 說明
project_id 字串 針對 VM 所在的專案列出 ID
vm_name 字串 VM 的執行個體名稱
region 字串 VM 地區
zone 字串 VM 區域

VpcDetails 欄位格式

欄位 類型 說明
project_id 字串 針對網路所在的專案列出 ID
vpc_name 字串 VM 運作時所在的網路
subnetwork_name 字串 VM 運作時所在的子網路

DestinationDetails 欄位格式

欄位 類型 說明
geo_location object(GeographicDetails) 如果連線目的地在 Google Cloud之外,這個欄位會填入可用的地點中繼資料。
instance object(InstanceDetails) 如果連線目的地是與來源相同專案中的執行個體,這個欄位會填入 VM 執行個體詳細資料。
vpc object(VpcDetails) 如果連線目的地與來源位於同一個專案中,這個欄位會填入目的地 VPC 網路的詳細資料。如果目的地是跨專案 VPC 網路,這個欄位會顯示空白。

GeographicDetails 欄位格式

欄位 類型 說明
continent 字串 外部端點的洲別
country 字串 外部端點所在的國家/地區
region 字串 外部端點所在的地區
city 字串 外部端點所在的城市
asn 字串 這個端點所屬外部網路的自治系統編號 (ASN)。

範例

範例 1:從共用虛擬私有雲網路中的 VM 執行個體傳送至法國外部伺服器的 NAT TCP 連線記錄。

{
insertId: "1the8juf6vab1t"
jsonPayload: {
       connection: {
            Src_ip: "10.0.0.1"
            Src_port: 45047
            Nat_ip: "203.0.113.17"
            Nat_port: 34889
            dest_ip : "198.51.100.142"
            Dest_port: 80
            Protocol: "tcp"
       }
       allocation_status: "OK"
       Gateway_identifiers: {
             Gateway_name: "my-nat-1"
             router_name: "my-router-1"
             Region: "europe-west1"
       }
       Endpoint: {
             Project_id: "service-project-1"
             Vm_name: "vm-1"
             Region: "europe-west1"
             Zone: "europe-west1-b"
       }
       Vpc: {
             Project_id: "host-project"
             Vpc_name: "network-1"
             Subnetwork_name: "subnetwork-1"
       }
       Destination: {
             Geo_location: {
                   Continent: "Europe"
                   Country: "France"
                   Region: "Nouvelle-Aquitaine"
                   City: "Bordeaux"
             }
       }
}
logName: "projects/host-project/logs/compute.googleapis.com%2Fnat_flows"
receiveTimestamp: "2018-06-28T10:46:08.123456789Z"
resource: {
      labels: {
            region: "europe-west1-d"
            project_id: "host-project"
            router_id: "987654321123456"
            gateway_name: "my-nat-1"
      }
      type: "nat_gateway"
}
labels: {
      nat.googleapis.com/instance_name: "vm-1"
      nat.googleapis.com/instance_zone: "europe-west1-b"
      nat.googleapis.com/nat_ip: "203.0.113.17"
      nat.googleapis.com/network_name: "network-1"
      nat.googleapis.com/router_name: "my-router-1"
      nat.googleapis.com/subnetwork_name: "subnetwork-1"
}
timestamp: "2018-06-28T10:46:00.602240572Z"
}

範例 2:由於沒有可用的通訊埠,因此捨棄封包的記錄。傳送 VM 時,嘗試存取相同專案中另一個 VM 的外部 IP 位址。

{
insertId: "1the8juf6vab1l"
jsonPayload: {
       connection: {
            Src_ip: "10.0.128.1"
            Src_port: 45047
            dest_ip : "192.0.2.87"
            Dest_port: 80
            Protocol: "tcp"
       }
       allocation_status: "DROPPED"
       Gateway_identifiers: {
             Gateway_name: "my-nat-2"
             Cloud_router: "my-router-1"
             Region: "europe-west1"
       }
       Endpoint: {
             Project_id: "service-project-1"
             Vm_name: "vm-1"
             Region: "europe-west1"
             Zone: "europe-west1-b"
       }
       Vpc: {
             Project_id: "host-project"
             Vpc_name: "network-1"
             Subnetwork_name: "subnetwork-1"
       }
       Destination: {
             Instance: {
                   Project_id: "service-project-1"
                   Vm_name: "vm-2"
                   Region: "asia-east1"
                   Zone: "asia-east1-b"
             }
       }
}
logName: "projects/host-project/logs/compute.googleapis.com%2Fnat_flows"
receiveTimestamp: "2018-06-28T10:46:09.123456789Z"
resource: {
       labels: {
              region: "europe-west1-d"
              project_id: "host-project"
              router_id: "987654321123456"
              gateway_name: "my-nat-2"
       }
       type: "nat_gateway"
}
timestamp: "2018-06-28T10:46:01.602240572Z"
}

Cloud NAT 記錄功能的定價

請參閱「記錄功能定價」。

監控

Cloud NAT 會將重要指標提供給 Cloud Monitoring,讓您深入瞭解車隊使用 NAT 閘道的情況。

系統會自動將指標傳送至 Cloud Monitoring。您可以在其中建立自訂資訊主頁、設定快訊及查詢指標。

以下是必要的 Identity and Access Management (IAM) 角色:

  • 如果共用虛擬私人雲端使用者在不同專案中定義了 VM 和 NAT 閘道,則必須具備每個 VM 專案的 roles/monitoring.viewer IAM 角色,才能存取 VM 層級指標。

  • 針對 NAT 閘道資源,您必須具備包含閘道的專案的 roles/monitoring.viewer IAM 角色,才能存取閘道指標。

查看預先定義的資訊主頁

Cloud NAT 提供一組預先定義的資訊主頁,可顯示閘道中的活動:

  • 公開連線數量
  • 已由 NAT 處理的輸出資料 (速率)
  • 已由 NAT 處理的輸入資料 (速率)
  • 通訊埠用量
  • NAT 分配錯誤
  • 封包已傳送但遭捨棄的頻率
  • 封包已接收但遭捨棄的頻率

如要在特定閘道詳細資料頁面中查看預先定義的資訊主頁,請按照下列步驟操作:

主控台

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

    前往 Cloud NAT

  2. 按一下現有的閘道。

  3. 按一下 [Monitoring] (監控) 分頁標籤。

  4. 捲動畫面即可查看所有資訊主頁。您可以使用頁面頂端的控制項,將檢視範圍從 1 小時變更為 30 天。將滑鼠游標懸停在圖表上的某個點,即可查看該時間點的詳細資料。

定義自訂資訊主頁

如要建立自訂資訊主頁來查看 VM 執行個體指標NAT 閘道指標,請按照下列步驟操作:

控制台

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

    前往「Dashboards」(資訊主頁)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

  2. 按一下「建立資訊主頁」
  3. 選用:更新資訊主頁標題,為資訊主頁命名。
  4. 按一下「新增小工具」,然後選取「指標」
  5. 展開「指標」選單,在篩選列中輸入 Cloud NAT GatewayVM Instance,然後使用子選單選取特定資源類型和指標:
    1. 在「有效資源」選單中,選取「Cloud NAT 閘道」或「VM 執行個體」
    2. 在「Active metric categories」(使用中的指標類別) 選單中,選取「Nat」
    3. 在「有效指標」選單中,選取要查看的指標。
    4. 按一下 [套用]
  6. 合併時間序列:
    • 如要顯示每個時間序列,請在「Aggregation」元素中,確認第一個選單設為「Unaggregated」,第二個選單設為「None」
    • 如要合併時間序列,請在「Aggregation」元素中,使用第一個選單選取函式,並使用第二個選單選取標籤。如果第二個選單設為「None」,則圖表會顯示一個時間序列。

      舉例來說,如要根據區域分組後顯示時間序列的平均值,請將第一個選單設為「Mean」,第二個選單設為「zone」

    如要瞭解如何合併時間序列,請參閱「選擇圖表資料的顯示方式」。

  7. 針對要加進資訊主頁的每個額外小工具,按一下「Add widget」(新增小工具),完成對話方塊,然後選取「Apply」(套用)

    如要進一步瞭解如何新增小工具,請參閱下列頁面:

定義快訊政策

如要建立以指標為基礎的快訊政策,請按照下列步驟操作:

控制台

您可以建立快訊政策,監控指標的值,並在這些指標違反條件時通知您。

  1. 前往 Google Cloud 控制台的 「Alerting」(警告) 頁面

    前往「Alerting」(快訊)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果

  2. 如果您尚未建立通知管道,但想收到通知,請按一下「Edit Notification Channels」(編輯通知管道),然後新增通知管道。新增管道後,請返回「快訊」頁面。
  3. 在「Alerting」頁面中,選取「Create policy」
  4. 如要選取指標,請展開「選取指標」選單,然後按照下列步驟操作:
    1. 如要將選單限制為相關項目,請在篩選列中輸入 Cloud NAT gatewayVM Instance。如果篩選選單後沒有任何結果,請停用「僅顯示活躍的資源和指標」切換按鈕。
    2. 在「資源類型」部分,選取「Cloud NAT 閘道」或「VM 執行個體」
    3. 選取「指標類別」和「指標」,然後選取「套用」
  5. 點按「Next」
  6. 「Configure alert trigger」頁面中的設定會決定快訊觸發的時機。 選取條件類型,並視需要指定門檻值。詳情請參閱「建立以指標門檻為基礎的警告政策」一文。
  7. 點按「Next」
  8. 選用步驟:如要新增通知至快訊政策,請按一下「通知管道」。在對話方塊中,從選單中選取一或多個通知管道,然後按一下「OK」
  9. 選用:更新「Incident autoclose duration」。這個欄位會決定 Monitoring 在沒有指標資料時關閉事件的時間。
  10. 選用步驟:按一下「說明文件」,然後輸入您希望在通知訊息中顯示的資訊。
  11. 按一下「快訊名稱」,然後輸入快訊政策的名稱。
  12. 點選「建立政策」
詳情請參閱「快訊總覽」。

指標回報頻率與保留期

Cloud NAT 的指標會以批次方式匯出,並每隔一 (1) 分鐘匯出至 Monitoring。監控資料會保留六 (6) 週。資訊主頁會以 1H (一小時)、6H (六小時)、1D (一天)、1W (一週) 和 6W (六週) 的預設間隔時間提供資料分析。您可以手動索取從 6 週到 1 分鐘之間任何間隔時間的資料分析。

VM 執行個體指標

這個表格中的「指標類型」字串前端必須加上 compute.googleapis.com/。該前置字串已從表格中的項目中省略。

指標類型:推出階段
顯示名稱
類別、類型、單位
受控資源
說明
標籤
nat/allocated_ports GA
已分配的通訊埠
GAUGEINT64{port}
gce_instance
NAT 閘道分配給 VM 的通訊埠數量。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 165 秒的時間無法查看資料。
nat_project_number: NAT 閘道所屬的專案編號。
router_id:NAT 閘道所屬的 Cloud Router ID。
nat_gateway_name:NAT 閘道的名稱。
nat_ip: 分配給網路位址轉譯 (NAT) 閘道的 NAT IP。
nat/closed_connections_count GA
已關閉的連線數
DELTAINT64{connection}
gce_instance
透過 NAT 閘道關閉的連線數。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 165 秒的時間無法查看資料。
nat_project_number:NAT 閘道所屬的專案編號。
router_id:NAT 閘道所屬的 Cloud Router ID。
nat_gateway_name:NAT 閘道的名稱。
ip_protocol:連線的通訊協定。可以是 TCP、UDP 或 ICMP。
nat/dropped_received_packets_count GA
已接收但遭捨棄的封包數
DELTAINT64{packet}
gce_instance
NAT 閘道已捨棄的接收封包數。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 165 秒的時間無法查看資料。
nat_project_number:NAT 閘道所屬的專案編號。
router_id:NAT 閘道所屬的 Cloud Router ID。
nat_gateway_name:NAT 閘道的名稱。
ip_protocol:連線的通訊協定。可以是 TCP、UDP 或 ICMP。
nat/dropped_sent_packets_count GA
已傳送但遭捨棄的封包數
DELTAINT64{packet}
gce_instance
NAT 閘道已捨棄的傳送封包數。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 165 秒的時間無法查看資料。
nat_project_number: NAT 閘道所屬的專案編號。
router_id:NAT 閘道所屬的 Cloud Router ID。
nat_gateway_name:NAT 閘道的名稱。
ip_protocol:連線的通訊協定。可以是 TCP、UDP 或 ICMP。
reason:封包遺失的原因。可能的值為 OUT_OF_RESOURCES、ENDPOINT_INDEPENDENCE_CONFLICT。
nat/new_connections_count GA
新連線數量
DELTAINT64{connection}
gce_instance
透過 NAT 閘道建立的新連線數量。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 165 秒的時間無法查看資料。
nat_project_number:NAT 閘道所屬的專案編號。
router_id:NAT 閘道所屬的 Cloud Router ID。
nat_gateway_name:NAT 閘道的名稱。
ip_protocol:連線的通訊協定。可以是 TCP、UDP 或 ICMP。
nat/open_connections GA
公開的連線
GAUGEINT64{connection}
gce_instance
NAT 閘道上開啟的連線數。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 165 秒的時間無法查看資料。
nat_project_number:NAT 閘道所屬的專案編號。
router_id:NAT 閘道所屬的 Cloud Router ID。
nat_gateway_name:NAT 閘道的名稱。
ip_protocol:連線的通訊協定。可以是 TCP、UDP 或 ICMP。
nat/port_usage GA
通訊埠用量
GAUGEINT64{port}
gce_instance
從 VM 連線至單一目的地端點 (IP:port) 的連線數量上限。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 165 秒的時間無法查看資料。
nat_project_number:NAT 閘道所屬的專案編號。
router_id:NAT 閘道所屬的 Cloud Router ID。
nat_gateway_name:NAT 閘道的名稱。
ip_protocol:連線的通訊協定。可以是 TCP、UDP 或 ICMP。
nat/received_bytes_count GA
已接收的位元組數
DELTAINT64By
gce_instance
透過 NAT 閘道接收的位元組數 (目的地 -> 來源)。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 165 秒的時間無法查看資料。
nat_project_number:NAT 閘道所屬的專案編號。
router_id:NAT 閘道所屬的 Cloud Router ID。
nat_gateway_name:NAT 閘道的名稱。
ip_protocol:連線的通訊協定。可以是 TCP、UDP 或 ICMP。
nat/received_packets_count GA
已接收的封包數
DELTAINT64{packet}
gce_instance
透過 NAT 閘道接收的封包數量 (目的地 -> 來源)。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 165 秒的時間無法查看資料。
nat_project_number:NAT 閘道所屬的專案編號。
router_id:NAT 閘道所屬的 Cloud Router ID。
nat_gateway_name:NAT 閘道的名稱。
ip_protocol:連線的通訊協定。可以是 TCP、UDP 或 ICMP。
nat/sent_bytes_count GA
已傳送的位元組數
DELTAINT64By
gce_instance
透過 NAT 閘道傳送的位元組數 (來源 -> 目的地)。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 165 秒的時間無法查看資料。
nat_project_number:NAT 閘道所屬的專案編號。
router_id:NAT 閘道所屬的 Cloud Router ID。
nat_gateway_name:NAT 閘道的名稱。
ip_protocol:連線的通訊協定。可以是 TCP、UDP 或 ICMP。
nat/sent_packets_count GA
已傳送的封包數
DELTAINT64{packet}
gce_instance
透過 NAT 閘道傳送的封包數量 (來源 -> 目的地)。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 165 秒的時間無法查看資料。
nat_project_number:NAT 閘道所屬的專案編號。
router_id:NAT 閘道所屬的 Cloud Router ID。
nat_gateway_name:NAT 閘道的名稱。
ip_protocol:連線的通訊協定。可以是 TCP、UDP 或 ICMP。

VM 執行個體篩選維度

label_key 類型 說明
project_id STRING VM 執行個體的專案 ID。
instance_id STRING VM 執行個體的 ID。
zone STRING VM 執行個體的可用區。
nat_project_number STRING NAT 閘道所屬的專案編號。
router_id STRING NAT 閘道所屬的 Cloud Router ID。
nat_gateway_name STRING NAT 閘道的名稱。
nat_ip STRING 指派給 NAT 閘道的 NAT IP 位址。適用於指標 allocated_ports
ip_protocol STRING 連線的通訊協定。可以是 TCPUDPICMP。適用於所有指標 (allocated_ports 除外)。
reason STRING

封包遺失的原因。可能的值包括:

  • OUT_OF_RESOURCES,如果 Cloud NAT 的 NAT IP 位址或連接埠用盡。
  • ENDPOINT_INDEPENDENCE_CONFLICT,當端點獨立衝突發生時。

適用於指標 dropped_sent_packets_count

NAT 閘道指標

這個表格中的「指標類型」字串前端必須加上 router.googleapis.com/。該前置字串已從表格中的項目中省略。

指標類型:推出階段
顯示名稱
類別、類型、單位
受控資源
說明
標籤
nat/allocated_ports GA
已分配的通訊埠
GAUGEINT64{port}
nat_gateway
NAT 閘道分配給所有 VM 的通訊埠數量。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 225 秒無法查看資料。
nat_ip: 通訊埠的網路位址轉譯 (NAT) IP。
nat/closed_connections_count GA
已關閉的連線數
DELTAINT64{connection}
nat_gateway
透過 NAT 閘道關閉的連線數。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 225 秒無法查看資料。
ip_protocol:連線的通訊協定。可以是 TCP、UDP 或 ICMP。
nat/dropped_received_packets_count GA
已接收但遭捨棄的封包數
DELTAINT64{packet}
nat_gateway
NAT 閘道已捨棄的接收封包數。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 225 秒無法查看資料。
ip_protocol:連線的通訊協定。可以是 TCP、UDP 或 ICMP。
nat/dropped_sent_packets_count GA
已傳送但遭捨棄的封包數
DELTAINT64{packet}
nat_gateway
NAT 閘道已捨棄的傳送封包數。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 225 秒無法查看資料。
ip_protocol:連線的通訊協定。可以是 TCP、UDP 或 ICMP。
reason:封包遺失的原因。可能的值為 OUT_OF_RESOURCES、ENDPOINT_INDEPENDENCE_CONFLICT。
nat/nat_allocation_failed GA
NAT 分配失敗
GAUGEBOOL
nat_gateway
指出是否已為 NAT 閘道中的任何 VM 分配 NAT IP。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 120 秒無法查看資料。
nat/new_connections_count GA
新連線數量
DELTAINT64{connection}
nat_gateway
透過 NAT 閘道建立的新連線數量。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 225 秒無法查看資料。
ip_protocol:連線的通訊協定。可以是 TCP、UDP 或 ICMP。
nat/open_connections GA
公開的連線
GAUGEINT64{connection}
nat_gateway
NAT 閘道上開啟的連線數。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 225 秒無法查看資料。
ip_protocol:連線的通訊協定。可以是 TCP、UDP 或 ICMP。
nat/port_usage GA
通訊埠用量
GAUGEINT64{port}
nat_gateway
從 VM 連線至單一目的地端點 (IP:port) 的連線數量上限。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 225 秒無法查看資料。
ip_protocol:連線的通訊協定。可以是 TCP、UDP 或 ICMP。
nat/received_bytes_count GA
已接收的位元組數
DELTAINT64By
nat_gateway
透過 NAT 閘道接收的位元組數 (目的地 -> 來源)。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 225 秒無法查看資料。
ip_protocol:連線的通訊協定。可以是 TCP、UDP 或 ICMP。
nat/received_packets_count GA
已接收的封包數
DELTAINT64{packet}
nat_gateway
透過 NAT 閘道接收的封包數量 (目的地 -> 來源)。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 225 秒無法查看資料。
ip_protocol:連線的通訊協定。可以是 TCP、UDP 或 ICMP。
nat/sent_bytes_count GA
已傳送的位元組數
DELTAINT64By
nat_gateway
透過 NAT 閘道傳送 (來源 -> 目的地) 的位元組數。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 225 秒無法查看資料。
ip_protocol:連線的通訊協定。可以是 TCP、UDP 或 ICMP。
nat/sent_packets_count GA
已傳送的封包數
DELTAINT64{packet}
nat_gateway
透過 NAT 閘道傳送的封包數量 (來源 -> 目的地)。取樣頻率為每 60 秒一次。取樣完畢後,最多會有 225 秒無法查看資料。
ip_protocol:連線的通訊協定。可以是 TCP、UDP 或 ICMP。

閘道篩選維度

label_key 類型 說明
project_id STRING 閘道的專案 ID。
region STRING 閘道的區域。
router_id STRING NAT 閘道所屬的 Cloud Router ID。
gateway_name STRING NAT 閘道的名稱。
ip_protocol STRING 連線的通訊協定。可以是 TCPUDPICMP。適用於所有指標 (allocated_ports 除外)。
nat_ip STRING 指派給 NAT 閘道的 NAT IP 位址。適用於指標 allocated_ports
reason STRING

封包遺失的原因。可能的值包括:

  • OUT_OF_RESOURCES,如果 Cloud NAT 的 NAT IP 位址或連接埠用盡。
  • ENDPOINT_INDEPENDENCE_CONFLICT,當端點獨立衝突發生時。

適用於指標 dropped_sent_packets_count

使用 Monitoring API 查詢指標

您可以使用 Monitoring API 的 v3 projects.timeSeries.list 要求,針對 Cloud NAT 指標建立任意查詢。

API 範例

取得 VM 的已分配通訊埠,並使用 100 萬個集合和 timeSeries.list 參數:

  • name:projects/PROJECT_ID
  • 篩選器:resource.type = "gce_instance" AND metric.name="compute.googleapis.com/nat/allocated_ports" AND metric.labels.nat_gateway_name="nat-1-237227-1569344091-5"
  • interval.start_time: 2019-09-24T16:58:53Z
  • interval.end_time: 2019-09-24T16:58:53Z
  • aggregation.alignmentPeriod: 60s
  • aggregation.crossSeriesReducer: REDUCE_SUM
  • aggregation.perSeriesAligner: ALIGN_SUM
"timeSeries": [
    {
      "resource": {
        "labels": {
          "instance_id": "1406292833167995938",
          "project_id": "PROJECT_ID",
          "zone": "us-west1-c"
        },
        "type": "gce_instance"
      },
      "metric": {
        "labels": {
          "nat_ip": "70.32.157.11",
          "nat_gateway_name": "nat-1-237227-1569344091-5",
          "nat_project_number": "PROJECT_NUMBER",
          "router_id": "1380055590921303155"
        },
        "type": "compute.googleapis.com/nat/allocated_ports"
      },
      "metricKind": "GAUGE",
      "points": [
        {
          "interval": {
            "endTime": "2019-09-24T16:58:53.699Z",
            "startTime": "2019-09-24T16:58:53.699Z"
          },
          "value": {
            "int64Value": "64"
          }
        }
      ],
      "valueType": "INT64"
    },

Cloud NAT 監控服務的定價

您無須為 Cloud NAT 監控功能付費。

後續步驟