本文說明如何使用 Cloud Monitoring,監控預留的 Compute Engine 可用區資源用量。
監控會收集並儲存 Cloud de Confiance by S3NS 服務 (例如 Compute Engine) 的效能資訊。這類成效資訊稱為指標和時間序列。您可以存取 Compute Engine 預留項目的指標和時間序列,以執行下列操作:
使用監控資訊主頁,顯示預留項目使用情形。
使用 Monitoring 警告政策,在預訂資源用量處於特定狀態時,及時收到通知。
舉例來說,這些方法可協助您確認預留資源是否如預期使用,或及時採取行動,避免因浪費資源或未使用預留資源而產生不必要的費用。
事前準備
- 請詳閱預訂的 規定和 限制。
如果尚未啟用,請啟用 Monitoring API。
啟用 API 時所需的角色
如要啟用 API,您必須具備
serviceusage.services.enable權限。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「服務使用情形管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。-
如果尚未設定驗證,請先完成設定。
驗證可確認您的身分,以便存取 Cloud de Confiance by S3NS 服務和 API。如要從本機開發環境執行程式碼或範例,請選取下列其中一個選項,向 Compute Engine 進行驗證:
選取這個頁面上您打算如何使用範例的分頁:
控制台
使用 Cloud de Confiance 控制台存取 Cloud de Confiance by S3NS 服務和 API 時,無須設定驗證。
REST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。
詳情請參閱 Cloud de Confiance 驗證說明文件中的「使用 REST 進行驗證」。
必要的角色
如要取得建立 Monitoring 資訊主頁或快訊政策所需的權限,以便監控預訂項目用量,請要求管理員授予您專案的「Monitoring 管理員 」(roles/monitoring.admin) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
這個預先定義的角色具備建立 Monitoring 資訊主頁或快訊政策所需的權限,可監控預訂的用量。如要查看確切的必要權限,請展開「Required permissions」(必要權限) 部分:
所需權限
如要建立監控資訊主頁或快訊政策,監控預訂的用量,必須具備下列權限:
-
建立資訊主頁:
monitoring.dashboards.create在專案上 -
如要建立政策快訊:
monitoring.alertPolicies.create在專案中
限制
使用 Monitoring 存取及查看預留項目的時間序列時,須遵守下列限制:
建立預留項目後,時間序列會在 30 分鐘內提供。
時間序列可用後,監控服務至少每 30 分鐘會更新一次。
預訂項目刪除後,其時間序列也會一併刪除,且無法復原。
您只能存取及查看目前專案中建立的預留項目時間序列。
如要進一步瞭解 Monitoring 限制,請參閱「Cloud Monitoring 配額與限制」。
預留項目指標
建立 Monitoring 資訊主頁或快訊政策時,您必須先選取Cloud de Confiance 指標,用來評估 Cloud de Confiance 服務的成效。預留資源可選取的 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 |
在 Cloud de Confiance 控制台中選取「已用」指標時,可以查看哪些 Cloud de Confiance 產品消耗了預留空間。可能的值如下:
如果您在 Compute Engine 和 Vertex AI 中都使用預留項目,請為每個前述值建立篩選條件。 |
resource |
location |
預留項目所在的可用區。 |
resource |
reservation_id |
預訂的 ID。 |
resource |
resource_container |
預留項目所在專案的專案編號。您只能監控在專案中建立的預留項目。 |
建立篩選器時,您必須指定選取器和標籤名稱,然後加上比較運算子,以及要篩選的值。舉例來說,如要依區域 us-central1-a 篩選預訂項目,請使用下列篩選條件:
resource.location = "us-central1-a"
如要確保篩選器中指定的值與預訂欄位的值相符,請查看預訂詳細資料。
監控預留項目使用情形
如要監控預留項目的用量,請選取本文中指定的下列其中一種方法:
建立資訊主頁:建立 Monitoring 資訊主頁,並在圖表區域新增小工具,顯示與預訂項目用量相關的時間序列資料。
舉例來說,您可以使用這個方法確認 VM 是否正確使用預留項目,或是比較多個預留項目的使用趨勢。
建立快訊政策:建立快訊政策,在與預訂項目用量相關的時間序列資料達到指定門檻時傳送快訊。
舉例來說,如果想在目前專案使用的 VM 數量低於特定比例時收到通知,或在預留資源閒置一段時間後收到通知,這個方法就非常實用。
建立資訊主頁
您可以使用 Cloud de Confiance 控制台 (建議) 和 Monitoring API 建立監控資訊主頁,並查看與預訂用量相關的時間序列。
定義如何顯示監控篩選器時間序列資料時,請務必使用下列其中一種方法:
基本查詢:這個方法有助於快速設定資訊主頁小工具的時間序列資料。
舉例來說,您可以使用基本查詢,快速顯示特定可用區中尚未完全用盡的預留項目。
PromQL:這個方法可擷取、篩選及操控時間序列資料,為資訊主頁小工具建立更複雜的設定。
舉例來說,您可以在 Cloud Monitoring 中使用 PromQL,顯示預留項目中已用 VM 與預留 VM 的比例。
基本查詢
以下範例說明如何建立監控資訊主頁,並使用折線圖小工具顯示 us-central1-a 區域的已用預留空間。
控制台
如要使用基本查詢建立監控資訊主頁,請按照下列步驟操作:
前往 Cloud de Confiance 控制台的「資訊主頁」頁面。
按一下「建立資訊主頁」。
「新資訊主頁」頁面隨即開啟。
按一下「新增小工具」。
系統隨即會顯示「新增小工具」窗格。
按一下其中一個可用的小工具。例如,按一下「折線圖」小工具。
系統隨即會顯示「設定小工具」窗格。
按一下「Select a metric」(選取指標)。
在「選取指標」視窗中,執行下列操作:
輸入
Reservation,然後選取「預訂」。在「使用中的指標類別」清單中,再次選取「預訂」。
在「使用中的指標」清單中,選取其中一個可用指標。 例如選取「已使用」。
按一下「套用」。
如要依特定區域篩選預訂,請按照下列步驟操作:
在「新增篩選器」清單中,選取其中一個可用的預訂篩選器。以這個範例來說,請選取「位置」。
在「比較子」清單中,選取其中一個可用運算子。 在本範例中,請選取「= (equals)」(= (等於)) (預設)。
在「Value」(值) 清單中,選取要用來篩選預訂的區域。在本範例中,請選取 us-central1-a。
按一下「套用」。
如要進一步瞭解如何使用 Cloud de Confiance 控制台自訂 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 建立及管理資訊主頁」。
PromQL
以下範例說明如何建立監控資訊主頁,並使用折線圖小工具顯示預留項目中已用 VM 與預留 VM 的比例。
控制台
如要建立監控資訊主頁,並新增使用 PromQL 設定查詢的小工具,請按照下列步驟操作:
-
在 Cloud de Confiance 控制台中,前往「Dashboards」(資訊主頁) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
按一下「建立資訊主頁」。
「新資訊主頁」頁面隨即開啟。
按一下「新增小工具」。
系統隨即會顯示「新增小工具」窗格。
按一下其中一個可用的小工具。例如,按一下「折線圖」小工具。
系統隨即會顯示「設定小工具」窗格。
如果沒有看到程式碼編輯器,請按一下 「PromQL」或 「MQL」。在「語言」部分,選取「PromQL」。
在查詢編輯器中輸入 PromQL 查詢。舉例來說,如要查看預留項目中使用的 VM 與預留 VM 的比例,請指定下列項目:
( max by (metadata_system_name) ({"compute.googleapis.com/reservation/used"}) / max by (metadata_system_name) ({"compute.googleapis.com/reservation/reserved"}) )點選「執行查詢」。
按一下「套用」。
如要進一步瞭解如何使用 Cloud de Confiance 控制台自訂 Monitoring 資訊主頁,請參閱「建立及管理自訂資訊主頁」。
REST
如要建立 Monitoring 資訊主頁,並新增已使用 PromQL 查詢設定的小工具,請向 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": "PROMQL_QUERY"
}
}
],
"timeshiftDuration": "0s",
"yAxis": {
"scale": "LINEAR"
}
}
},
"width": 6,
"xPos": 6
}
]
}
}
更改下列內容:
PROJECT_ID:目前專案的專案 ID。PROMQL_QUERY:用於折線圖小工具的 PromQL 查詢。舉例來說,如要查看預留項目中已用 VM 與預留 VM 的比例,請指定下列項目:( max by (metadata_system_name) ({"compute.googleapis.com/reservation/used"}) / max by (metadata_system_name) ({"compute.googleapis.com/reservation/reserved"}) )
如要瞭解如何使用 Monitoring API 自訂 Monitoring 資訊主頁,請參閱「使用 API 建立及管理資訊主頁」。
建立快訊政策
您可以使用 Cloud de Confiance 控制台和 Monitoring API 建立 Monitoring 快訊政策,接收目前專案的預訂用量通知。
定義警告政策的快訊條件時,必須使用下列其中一種方法:
基本查詢:這個方法適用於建立簡單的快訊條件。
舉例來說,您可以使用基本查詢建立警告條件,在首次使用預留項目時觸發警告。
PromQL:這個方法有助於擷取、篩選及操控時間序列資料,以建立更複雜的快訊條件。
舉例來說,您可以使用 Prometheus 查詢語言 (PromQL) 建立警告觸發條件,當預留 VM 與已用 VM 的比率達到特定閾值:門檻時,就會觸發快訊。
基本查詢
以下範例會建立警告政策,在首次使用預留項目時傳送快訊通知。具體來說,只要預留項目中使用的 VM 數量大於 0,就會觸發警報。
控制台
如要使用基本查詢建立 Monitoring 警告政策,請按照下列步驟操作:
前往 Cloud de Confiance 控制台的「Alerting」(警告)。
按一下 「建立政策」。
「建立警告政策」頁面隨即開啟。
按一下「選取指標」。
畫面上會顯示「選取指標」視窗。
在「選取指標」視窗中,執行下列操作:
在「Filter by resource or metric name」(按照資源或指標名稱篩選) 欄位中,輸入
Reservation。如果「預訂」指標顯示在「使用中的資源」清單中,請選取該指標。否則,請按照下列步驟操作:
取消選取「僅顯示活躍的資源和指標」。
系統會顯示「未使用的資源」清單。
在「閒置資源」清單中,選取「預留項目」。
在「使用中的指標類別」清單中,再次選取「預訂」。
系統會顯示「有效指標」清單。
在「使用中的指標」清單中,選取其中一個可用指標。
例如選取「已使用」。
按一下「套用」。
按一下「新增篩選條件」。
系統會顯示「新增篩選器」部分。
在「新增篩選器」部分,執行下列操作:
在「標籤」清單中,選取這份文件中指定的預留項目可用篩選器。
舉例來說,如要依名稱篩選預訂項目,請選取「name」。
在「比較」清單中,選取其中一個可用運算子。
例如,選取「= (equals)」(= (等於)) (預設)。
在「Value」(值) 清單中,選取要監控的預訂名稱。
按一下「完成」。
點選「下一步」。
「設定快訊觸發條件」窗格隨即顯示。
在「條件類型」部分,選取下列任一選項:
如要讓時間序列高於或低於特定值時觸發條件,請選取「門檻」。
如要在時間序列在特定時間沒有資料時觸發條件,請選取「指標不存在」。
如要讓系統在預測時間序列即將超過門檻時觸發條件,請選取「預測」。
例如,選取「門檻」 (預設)。
在「Alert trigger」(快訊觸發條件) 清單中,選取觸發快訊的條件。
例如,選取「任何時間序列違反條件時」 (預設)。
在「門檻位置」清單中,選取觸發條件的時間。
例如選取「高於門檻」。
在「Threshold value」(門檻值) 欄位中,輸入條件的值。
例如輸入
0。在「條件名稱」欄位中,輸入條件名稱。
例如:
Reservation RESERVATION_NAME consumed.其中 RESERVATION_NAME 是您在先前步驟中指定的預訂名稱。
點選「下一步」。
系統會顯示「設定通知並完成快訊」窗格。
按一下「使用通知管道」。
在「Notification channels」(通知管道) 欄位中,選取要接收事件通知的管道。
如果沒有可用的通知管道,請按一下「管理通知管道」,然後按照步驟建立通知管道。詳情請參閱「建立及管理通知管道」。
在「Incident autoclose duration」(事件自動關閉期限) 欄位中,選取事件自動關閉的期限。
例如選取「3 天」。
在「快訊政策名稱」欄位中,輸入快訊政策的名稱。
例如:
Alert: you started consuming reservation RESERVATION_NAME!其中 RESERVATION_NAME 是您在先前步驟中指定的預留項目名稱。
點選「下一步」。
系統會開啟警報條件的檢查頁面。
點選「建立政策」。
建立警告政策可能需要幾秒鐘才能完成。這項操作會將您重新導向至「建立警告政策」頁面。
如要進一步瞭解使用 Cloud de Confiance 控制台和基本查詢建立快訊政策時可用的選項,請參閱「建立以指標為基礎的快訊政策」。
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 建立快訊政策」。
PromQL
下列範例會建立警告政策,當預留項目中使用的 VM 占預留 VM 的百分比超過 90% 時,系統就會傳送快訊通知。
控制台
如要使用 PromQL 建立 Monitoring 警告政策,請按照下列步驟操作:
前往 Cloud de Confiance 控制台的「Alerting」(警告)。
按一下 「建立政策」。
「建立警告政策」頁面隨即開啟。
在「政策設定模式」中,選取「程式碼編輯器 (MQL 或 PromQL)」。
系統隨即會顯示「Query editor」(查詢編輯器) 窗格。
選取「PromQL」PromQL做為語言,然後輸入 PromQL 查詢。
舉例來說,如要建立查詢,依名稱將預留項目分組,並在超過 90% 的預留項目用盡時觸發快訊條件,請輸入下列查詢:
( max by (metadata_system_name) ({"compute.googleapis.com/reservation/used"}) / max by (metadata_system_name) ({"compute.googleapis.com/reservation/reserved"}) ) > 0.9點選「下一步」。
「設定快訊觸發條件」窗格隨即顯示。
如果條件名稱,請輸入條件名稱。
例如:
Over 90% of your reservations are consumed.再次點選「繼續」。
系統會顯示「設定通知並完成快訊」窗格。
按一下「使用通知管道」。
在「Notification channels」(通知管道) 欄位中,選取要接收事件通知的管道。
如果沒有可用的通知管道,請按一下「管理通知管道」,然後按照步驟建立通知管道。詳情請參閱「建立及管理通知管道」。
在「Incident autoclose duration」(事件自動關閉期限) 欄位中,選取事件自動關閉的期限。
例如選取「3 天」。
在「快訊政策名稱」欄位中,輸入快訊政策的名稱。
例如:
Alert: over 90% of your reservations are consumed.點選「下一步」。
系統會開啟警報條件的檢查頁面。
點選「建立政策」。
建立警告政策可能需要幾秒鐘才能完成。這項操作會將您重新導向至「建立警告政策」頁面。
如要進一步瞭解如何使用Cloud de Confiance 控制台和 PromQL 建立警告政策,請參閱「建立以 PromQL 為基礎的警告政策 (控制台)」。
REST
如要使用 PromQL 建立 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": "PROMQL_QUERY"
}
}
],
"alertStrategy": {
"autoClose": "AUTO_CLOSE_TIME"
},
"combiner": "OR",
"enabled": true,
"notificationChannels": [
"projects/PROJECT_ID/notificationChannels/NOTIFICATION_CHANNEL"
]
}
更改下列內容:
PROJECT_ID:目前專案的專案 ID。PROMQL_QUERY:用於警告政策的 PromQL 查詢。舉例來說,如要建立查詢,追蹤目前專案預留項目中,已用 VM 占預留 VM 的百分比是否超過 90%,請指定下列項目:( max by (metadata_system_name) ({"compute.googleapis.com/reservation/used"}) / max by (metadata_system_name) ({"compute.googleapis.com/reservation/reserved"}) ) > 0.9
AUTO_CLOSE_TIME:系統自動關閉事件前的時間 (以秒為單位)。這個值必須介於0s至604800s(7 天) 之間。例如,輸入259200s(3 天)。NOTIFICATION_CHANNEL:現有通知管道的名稱。如要設定通知管道,請參閱「建立及管理通知管道」。
如要進一步瞭解如何使用 Monitoring API 和 PromQL 建立快訊政策,請參閱「建立以 PromQL 為基礎的快訊政策 (API)」。
後續步驟
瞭解如何使用預留項目。
瞭解如何將預留項目加入承諾使用合約。
瞭解如何修改預訂。
瞭解如何刪除預訂。