本文說明如何使用 Cloud Monitoring 監控預留的 Compute Engine 可用區資源用量。
Monitoring 會收集並儲存 Google Cloud 服務 (例如 Compute Engine) 的效能資訊。這類效能資訊稱為「指標和時間序列」。您可以存取 Compute Engine 預留項目的指標和時間序列,以執行下列操作:
使用 Monitoring 資訊主頁,顯示預留項目使用情形。
使用 Monitoring 快訊政策,在預訂項目用量達到特定狀態時,及時收到通知。
舉例來說,這些方法可協助您確認預訂項目是否按照計畫使用,或及時採取行動,避免因浪費資源或未使用預訂項目而產生不必要的費用。
事前準備
- 請詳閱預訂的 規定和 限制。
-
Enable the Monitoring API.
-
如果尚未設定驗證,請先完成設定。
「驗證」是指驗證身分的程序,確認您有權存取 Google Cloud 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。
必要的角色
如要取得建立監控資訊主頁或快訊政策的權限,以便監控預訂用量,請要求管理員授予您專案的監控管理員 (
roles/monitoring.admin
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。這個預先定義的角色具備建立 Monitoring 資訊主頁或快訊政策所需的權限,可監控預訂項目用量。如要查看確切的必要權限,請展開「必要權限」部分:
所需權限
如要建立 Monitoring 資訊主頁或快訊政策,監控預訂的用量,必須具備下列權限:
-
建立資訊主頁:
monitoring.dashboards.create
在專案上 -
如要建立政策快訊:
monitoring.alertPolicies.create
在專案中
限制
使用 Monitoring 存取及查看預留項目的時間序列時,會受到下列限制:
預留項目建立完成後,時間序列會在 30 分鐘內提供。
時間序列可用後,Monitoring 至少每 30 分鐘會更新一次。
預訂項目刪除後,系統也會一併刪除其時間序列,且無法復原。
您只能存取及查看目前專案中建立的預訂時間序列。
如要進一步瞭解 Monitoring 限制,請參閱 Cloud Monitoring 配額與限制。
預留項目指標
建立監控資訊主頁或快訊政策時,您必須先選取Google Cloud 指標,用來評估 Google Cloud 服務的成效。如要查看預留資源,您可以選取下列 Compute Engine 指標:
已預留:目前專案中每個預留項目的預留虛擬機器 (VM) 執行個體數量。
已用:目前專案中各預留項目已使用的 VM 數量。
選取指標後,您可以進一步篩選或分組預訂指標的測量結果。如要進一步瞭解預留項目可用的篩選器,請參閱本文的「預留項目篩選器」一節。
預訂篩選器
您可以使用監控篩選器,將與一或多個預訂項目相關聯的時間序列資料分組或篩選。具體來說,建立 Monitoring 資訊主頁或快訊政策時,您可以指定一或多個下列標籤,限制這些項目使用的時間序列資料:
選取器 標籤名稱 說明 metadata.system
machine_type
預留 VM 中為預留項目指定的機器類型。 metadata.system
name
預訂名稱。 metadata.system
state
預訂狀態。你只能監控處於 ACTIVE
狀態的預訂項目,也就是預訂項目存在時。metric
reserved_resource_type
預留區域資源的類型。您只能監控 instance
類型,也就是 VM 執行個體。metric
service_name
在 Google Cloud 控制台中選取「已使用」指標時,可以查看哪些 Google Cloud 產品消耗預留空間。可能的值如下:
COMPUTE_ENGINE
:Compute Engine 中的 VMVERTEX_ONLINE_PREDICTION
:Vertex AI 中的 VM 預測工作VERTEX_TRAINING
:Vertex AI 中的 VM 自訂訓練工作
如果您在 Compute Engine 和 Vertex AI 中都使用預留項目,請為每個前述值建立篩選條件。
resource
location
保留項目所在的區域。 resource
reservation_id
預訂的 ID。 resource
resource_container
預留項目所在專案的專案編號。您只能監控在專案中建立的預訂。 建立篩選器時,您必須指定選取器和標籤名稱,然後依序指定比較運算子和要篩選的值。舉例來說,如要讓查詢依區域
us-central1-a
篩選預訂項目,請使用下列篩選器:resource.location = "us-central1-a"
如要確保篩選器中指定的值與預訂欄位的值相符,請查看預訂詳細資料。
監控預留項目用量
如要監控預留項目的用量,請選取本文中指定的下列其中一種方法:
建立資訊主頁:建立監控資訊主頁,並在圖表區域新增小工具,顯示與預訂項目用量相關的時間序列資料。
舉例來說,如果您想確認 VM 是否正確使用預留項目,或是比較多個預留項目的使用趨勢,這個方法就非常實用。
建立快訊政策:建立快訊政策,在與預訂項目用量相關的時間序列資料達到定義門檻時傳送快訊。
舉例來說,如果想在目前專案使用的 VM 數量低於特定比例時收到通知,或在預留資源閒置一段時間後收到通知,這個方法就非常實用。
建立資訊主頁
您可以建立 Monitoring 資訊主頁,並使用 Google Cloud 控制台 (建議) 和 Monitoring API,查看與預訂用量相關的時間序列。
定義如何顯示 Monitoring 篩選器的時間序列資料時,請務必使用下列其中一種方法:
基本查詢:這個方法有助於快速設定資訊主頁小工具的時間序列資料。
舉例來說,您可以使用基本查詢,快速顯示特定可用區中尚未完全用盡的預留項目。
MQL:這個方法有助於擷取、篩選及操控時間序列資料,為資訊主頁小工具建立更複雜的設定。
舉例來說,您可以使用 Monitoring Query Language (MQL),顯示預留項目中已使用的 VM 與預留 VM 的比例。
基本查詢
以下範例說明如何建立監控資訊主頁,並使用折線圖小工具顯示
us-central1-a
區域的已用預留項目。控制台
如要使用基本查詢建立監控資訊主頁,請按照下列步驟操作:
前往 Google Cloud 控制台的「資訊主頁」。
按一下「建立資訊主頁」
。「新資訊主頁」頁面隨即開啟。
按一下
「新增小工具」。「新增小工具」窗格隨即會出現。
按一下其中一個可用的小工具。例如,按一下「線條」 小工具。
系統隨即會顯示「設定小工具」窗格。
按一下「Select a metric」(選取指標)。
在「選取指標」視窗中,執行下列操作:
輸入
Reservation
,然後選取「預訂」。在「Active metrics categories」(使用中的指標類別) 清單中,再次選取「Reservation」(預訂)。
在「Active metrics」(使用中的指標) 清單中,選取其中一個可用指標。 例如選取「已使用」。
按一下 [套用]。
如要依特定區域篩選預訂項目,請按照下列步驟操作:
在「新增篩選器」清單中,選取其中一個可用的預訂篩選器。在本範例中,請選取「位置」。
在「比較子」清單中,選取其中一個可用運算子。 在本範例中,請選取「= (equals)」(= (等於)) (預設值)。
在「Value」(值) 清單中,選取要用來篩選預訂的區域。在本例中,請選取 us-central1-a。
按一下 [套用]。
如要進一步瞭解如何使用 Google Cloud 控制台自訂 Monitoring 資訊主頁,請參閱「建立及管理自訂資訊主頁」一文。
REST
如要使用基本查詢建立監控資訊主頁,請對
dashboards.create
方法發出POST
要求。POST https://monitoring.googleapis.com/v1/projects/PROJECT_ID/dashboards { "displayName": "Consumed reservations in zone us-central1-a", "mosaicLayout": { "columns": 12, "tiles": [ { "height": 4, "widget": { "title": "Reservation - Used for us-central1-a [MEAN]", "xyChart": { "chartOptions": { "mode": "COLOR" }, "dataSets": [ { "minAlignmentPeriod": "60s", "plotType": "LINE", "targetAxis": "Y1", "timeSeriesQuery": { "timeSeriesFilter": { "aggregation": { "alignmentPeriod": "60s", "perSeriesAligner": "ALIGN_MEAN" }, "filter": "FILTER", "secondaryAggregation": { "alignmentPeriod": "60s", "perSeriesAligner": "ALIGN_NONE" } } } } ], "timeshiftDuration": "0s", "yAxis": { "scale": "LINEAR" } } }, "width": 6 } ] } }
更改下列內容:
PROJECT_ID
:目前專案的專案 ID。FILTER
:用於資訊主頁的監控篩選器。舉例來說,如要監控區域us-central1-a
中使用的預留項目,請指定下列項目:resource.type = 'compute.googleapis.com/Reservation' AND metric.type = 'compute.googleapis.com/reservation/used' AND resource.location = 'us-central1-a'
如要進一步瞭解如何使用 Monitoring API 自訂 Monitoring 資訊主頁,請參閱「使用 API 建立及管理資訊主頁」。
MQL
以下範例說明如何建立監控資訊主頁,並使用折線圖小工具顯示預留項目中已用 VM 與預留 VM 的比例。
控制台
如要使用 MQL 建立 Cloud Monitoring 資訊主頁,請按照下列步驟操作:
前往 Google Cloud 控制台的「資訊主頁」。
按一下「建立資訊主頁」
。「新資訊主頁」頁面隨即開啟。
按一下
「新增小工具」。「新增小工具」窗格隨即會出現。
按一下其中一個可用的小工具。例如,按一下「線條」 小工具。
系統隨即會顯示「設定小工具」窗格。
按一下
「MQL」。在查詢編輯器中輸入 MQL 查詢。舉例來說,如要查看預留項目中使用的 VM 與預留 VM 的比例,請指定下列項目:
fetch compute.googleapis.com/Reservation | { metric compute.googleapis.com/reservation/used | group_by [metadata.system.name], sliding(1m), max(value.used) ; metric compute.googleapis.com/reservation/reserved | group_by [metadata.system.name], sliding(1m), max(value.reserved) } | ratio
點選「執行查詢」
按一下 [套用]。
如要進一步瞭解如何使用 Google Cloud 控制台自訂 Monitoring 資訊主頁,請參閱「建立及管理自訂資訊主頁」一文。
REST
如要使用 MQL 建立 Monitoring 資訊主頁,請向
dashboards.create
方法發出POST
要求。POST https://monitoring.googleapis.com/v1/projects/PROJECT_ID/dashboards { "displayName": "Consumed reservations in zone us-central1-a", "mosaicLayout": { "columns": 12, "tiles": [ { "height": 4, "widget": { "title": "Reservation - Used for us-central1-a [MEAN]", "xyChart": { "chartOptions": { "mode": "COLOR" }, "dataSets": [ { "plotType": "LINE", "targetAxis": "Y1", "timeSeriesQuery": { "timeSeriesQueryLanguage": "MQL_QUERY" } } ], "timeshiftDuration": "0s", "yAxis": { "scale": "LINEAR" } } }, "width": 6, "xPos": 6 } ] } }
更改下列內容:
PROJECT_ID
:目前專案的專案 ID。MQL_QUERY
:用於折線圖小工具的 MQL 查詢。舉例來說,如要查看預留項目中已用 VM 與預留 VM 的比例,請指定下列項目:fetch compute.googleapis.com/Reservation | { metric compute.googleapis.com/reservation/used | group_by [metadata.system.name], sliding(1m), max(value.used) ; metric compute.googleapis.com/reservation/reserved | group_by [metadata.system.name], sliding(1m), max(value.reserved) } | ratio
如要進一步瞭解如何使用 Monitoring API 自訂 Monitoring 資訊主頁,請參閱「使用 API 建立及管理資訊主頁」。
建立快訊政策
您可以使用 Google Cloud 控制台和 Monitoring API 建立 Monitoring 快訊政策,接收目前專案的預訂用量通知。
定義快訊政策的快訊條件時,您必須使用下列其中一種方法:
基本查詢:這個方法有助於建立簡單的快訊條件。
舉例來說,您可以使用基本查詢建立快訊條件,在首次使用預訂時觸發快訊。
MQL:這個方法有助於擷取、篩選及操控時間序列資料,以建立更複雜的快訊條件。
舉例來說,您可以使用 Monitoring Query Language (MQL) 建立快訊條件,當預留 VM 與已用 VM 的比例達到特定門檻時,系統就會觸發快訊。
基本查詢
以下範例會建立快訊政策,在首次使用預訂項目時傳送快訊通知。具體來說,當預留項目中使用的 VM 數量大於
0
時,系統就會觸發快訊。控制台
如要使用基本查詢建立 Monitoring 快訊政策,請按照下列步驟操作:
前往 Google Cloud 控制台的「Alerting」(快訊) 頁面。
按一下「建立政策」
。「建立快訊政策」頁面隨即開啟。
按一下
「選取指標」。系統會顯示「選取指標」視窗。
在「選取指標」視窗中,執行下列操作:
在「依據資源或指標名稱篩選」欄位中,輸入
Reservation
。如果「Reservation」(預訂) 指標顯示在「Active resources」(有效資源) 清單中,請選取該指標。如果沒有,請按照下列步驟操作:
取消選取「僅顯示使用中的資源和指標」。
系統會顯示「已停用的資源」清單。
在「Inactive resources」(閒置資源) 清單中,選取「Reservation」(預訂)。
在「Active metrics categories」(使用中的指標類別) 清單中,再次選取「Reservation」(預訂)。
系統會顯示「有效指標」清單。
在「Active metrics」(使用中的指標) 清單中,選取其中一個可用指標。
例如選取「已使用」。
按一下 [套用]。
按一下「新增篩選條件」
。系統會顯示「新增篩選器」區段。
在「新增篩選器」專區中,執行下列操作:
在「標籤」清單中,選取這份文件中指定的其中一個可用預留項目篩選器。
舉例來說,如要依名稱篩選預訂項目,請選取「name」。
在「比較」清單中,選取其中一個可用運算子。
例如,選取「= (equals)」(= (等於)) (預設值)。
在「Value」(值) 清單中,選取要監控的預訂項目名稱。
按一下 [完成]。
點選「下一步」。
「設定快訊觸發條件」窗格隨即顯示。
在「條件類型」部分中,選取下列任一選項:
如要在時間序列高於或低於特定值時觸發條件,請選取「門檻」。
如要在時間序列在特定時間沒有資料時觸發條件,請選取「指標不存在」。
如要讓系統在預測時間序列即將超過門檻時觸發條件,請選取「預測」。
例如選取「門檻」 (預設)。
在「Alert trigger」(快訊觸發條件) 清單中,選取觸發快訊的條件。
例如選取「Any time series violation」(任何時間序列違反條件時) (預設)。
在「Threshold position」(門檻位置) 清單中,選取觸發條件的時間。
例如選取「高於門檻」。
在「Threshold value」(門檻值) 欄位中,輸入條件值。
例如輸入
0
。在「條件名稱」欄位中,輸入條件名稱。
例如:
Reservation RESERVATION_NAME consumed.
其中 RESERVATION_NAME 是您在先前步驟中指定的預訂名稱。
點選「下一步」。
系統會顯示「設定通知並完成快訊」窗格。
按一下「使用通知管道」。
在「通知管道」欄位中,選取要接收事故通知的管道。
如果沒有可用的通知管道,請按一下「管理通知管道」,然後按照步驟建立通知管道。詳情請參閱「建立及管理通知管道」。
在「Incident autoclose duration」(事件自動關閉期限) 欄位中,選取事件自動關閉的期限。
例如選取「3 天」。
在「快訊政策名稱」欄位中,輸入快訊政策的名稱。
例如:
Alert: you started consuming reservation RESERVATION_NAME!
其中 RESERVATION_NAME 是您在先前步驟中指定的預訂名稱。
點選「下一步」。
系統會開啟快訊條件的檢查頁面。
按一下「建立政策」。
建立快訊政策可能需要幾秒鐘才能完成。這項操作會將您重新導向至「建立快訊政策」頁面。
如要進一步瞭解使用 Google Cloud 控制台和基本查詢建立快訊政策時可用的選項,請參閱「建立以指標為基礎的快訊政策」。
REST
如要使用基本查詢建立 Monitoring 快訊政策,請對
projects.alertPolicies.create
方法發出POST
要求。POST https://monitoring.googleapis.com/v3/projects/PROJECT_ID/alertPolicies { "displayName": "Alert: you started consuming reservation RESERVATION_NAME!", "conditions": [ { "displayName": "Reservation RESERVATION_NAME consumed.", "conditionThreshold": { "filter": "FILTER", "aggregations": [ { "alignmentPeriod": "300s", "crossSeriesReducer": "REDUCE_NONE", "perSeriesAligner": "ALIGN_MEAN" } ], "comparison": "COMPARISON_GT", "duration": "0s", "trigger": { "count": 1 }, "thresholdValue": 0 } } ], "alertStrategy": { "autoClose": "AUTO_CLOSE_TIME" }, "combiner": "OR", "enabled": true, "notificationChannels": [ "projects/PROJECT_ID/notificationChannels/NOTIFICATION_CHANNEL" ] }
更改下列內容:
PROJECT_ID
:目前專案的專案 ID。RESERVATION_NAME
:現有預留資源的名稱,位於目前專案中。FILTER
:用於快訊政策的監控篩選器。舉例來說,如要監控預留項目的指標,請指定下列項目:used
RESERVATION_NAMEresource.type = 'compute.googleapis.com/Reservation' AND metric.type = 'compute.googleapis.com/reservation/used' AND metadata.system.name = 'RESERVATION_NAME'
AUTO_CLOSE_TIME
:系統自動關閉事件前的時間 (以秒為單位)。這個值必須介於0s
至604800s
(7 天) 之間。例如輸入259200s
(3 天)。NOTIFICATION_CHANNEL
:現有通知管道的名稱。如要設定通知管道,請參閱「建立及管理通知管道」。
如要進一步瞭解使用 Monitoring API 和基本查詢建立快訊政策時可用的選項,請參閱使用 API 建立快訊政策。
MQL
下列範例會建立快訊政策,只要保留項目中使用的 VM 百分比超過 90%,就會傳送快訊通知。
控制台
如要使用 MQL 建立 Monitoring 快訊政策,請按照下列步驟操作:
前往 Google Cloud 控制台的「Alerting」(快訊) 頁面。
按一下「建立政策」
。「建立快訊政策」頁面隨即開啟。
按一下工具列上的「MQL」。
「編輯查詢」窗格隨即顯示。
在「Edit query」(編輯查詢) 窗格中,輸入 MQL 查詢。
舉例來說,如要建立查詢,依名稱將預留項目分組,並在超過 90% 的預留項目用完時觸發快訊條件,請輸入下列查詢:
fetch compute.googleapis.com/Reservation | { metric compute.googleapis.com/reservation/used | group_by [metadata.system.name], sliding(1m), max(value.used) ; metric compute.googleapis.com/reservation/reserved | group_by [metadata.system.name], sliding(1m), max(value.reserved) } | ratio | every 1m | condition gt(val(), 0.9)
如要執行剛輸入的查詢,請按一下「執行查詢」。
點選「下一步」。
「設定快訊觸發條件」窗格隨即顯示。
如果條件名稱,請輸入條件名稱。
例如:
Over 90% of your reservations are consumed.
再次點選「下一步」。
系統會顯示「設定通知並完成快訊」窗格。
按一下「使用通知管道」。
在「通知管道」欄位中,選取要接收事故通知的管道。
如果沒有可用的通知管道,請按一下「管理通知管道」,然後按照步驟建立通知管道。詳情請參閱「建立及管理通知管道」。
在「Incident autoclose duration」(事件自動關閉期限) 欄位中,選取事件自動關閉的期限。
例如選取「3 天」。
在「快訊政策名稱」欄位中,輸入快訊政策的名稱。
例如,輸入
Alert: over 90% of your reservations are consumed.
點選「下一步」。
系統會開啟快訊條件的檢查頁面。
按一下「建立政策」。
建立快訊政策可能需要幾秒鐘才能完成。這項操作會將您重新導向至「建立快訊政策」頁面。
如要進一步瞭解如何使用Google Cloud 控制台和 MQL 建立快訊政策,請參閱「建立 MQL 快訊政策 (控制台)」。
REST
如要使用 MQL 建立 Monitoring 快訊政策,請對
projects.alertPolicies.create
方法發出POST
要求。POST https://monitoring.googleapis.com/v3/projects/PROJECT_ID/alertPolicies { "displayName": "Alert: over 90% of your reservations are consumed.", "conditions": [ { "displayName": "Over 90% of your reservations are consumed.", "conditionMonitoringQueryLanguage": { "duration": "0s", "trigger": { "count": 1 }, "query": "MQL_QUERY" } } ], "alertStrategy": { "autoClose": "AUTO_CLOSE_TIME" }, "combiner": "OR", "enabled": true, "notificationChannels": [ "projects/PROJECT_ID/notificationChannels/NOTIFICATION_CHANNEL" ] }
更改下列內容:
PROJECT_ID
:目前專案的專案 ID。MQL_QUERY
:用於快訊政策的 MQL 查詢。舉例來說,如要建立查詢,追蹤目前專案預留項目中,已用 VM 占預留 VM 的百分比是否超過 90%,請指定下列項目:fetch compute.googleapis.com/Reservation | { metric compute.googleapis.com/reservation/used | group_by [metadata.system.name], sliding(1m), max(value.used) ; metric compute.googleapis.com/reservation/reserved | group_by [metadata.system.name], sliding(1m), max(value.reserved) } | ratio | every 1m | condition gt(val(), 0.9)
AUTO_CLOSE_TIME
:系統自動關閉事件前的時間 (以秒為單位)。這個值必須介於0s
至604800s
(7 天) 之間。例如輸入259200s
(3 天)。NOTIFICATION_CHANNEL
:現有通知管道的名稱。如要設定通知管道,請參閱「建立及管理通知管道」。
如要進一步瞭解如何使用 Monitoring API 和 MQL 建立快訊政策,請參閱建立 MQL 快訊政策 (API)。
疑難排解
瞭解如何排解預訂監控問題。
後續步驟
瞭解如何使用預訂。
瞭解如何將預留項目加入承諾使用合約。
瞭解如何修改預訂。
瞭解如何刪除預訂。
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-07-08 (世界標準時間)。
-
建立資訊主頁: