本文件說明如何建立警告政策和圖表,監控 Google Cloud分配給您的配額,並提供多個範例。Google Cloud 會設定多項配額,您可以用來追蹤及限制專案或機構使用的資源。如需配額的一般資訊,包括分配配額和費率配額的資訊,請參閱「處理配額」。
事前準備
本文件假設您熟悉時序資料及其操作方式。下列資源提供更多資訊:
- 如要瞭解如何使用時序資料,請參閱「篩選和匯總」一文。
- 如要瞭解「指標」、「差異」和「累積」的定義,請參閱「指標類型」。
- 如要進一步瞭解用於結合時序資料的函式,請參閱
Aligner
和Reducer
。
配額管理
Cloud Monitoring 會以兩種方式管理配額:
消費者配額:對於這類配額,受控資源為
consumer_quota
。這項資源的指標是serviceruntime
指標的子集。本頁大部分的範例都是消費者配額範例。
資源專屬配額:部分服務提供受控資源,這些資源有專屬的資源指標。這些指標類型會以三個一組的形式顯示,並遵循以下命名格式:
service/quota/quota-type/exceeded
service/quota/quota-type/limit
service/quota/quota-type/usage
舉例來說,Compute Engine 有
compute.googleapis.com/VpcNetwork
資源。與此資源相關聯的配額相關指標是compute
指標的compute.googleapis.com/quota
子集。與「每個虛擬私有雲網路的執行個體」配額相關的三種指標類型如下:quota/instances_per_vpc_network/exceeded
quota/instances_per_vpc_network/limit
quota/instances_per_vpc_network/usage
找出配額指標和限制名稱
配額用量原始資料 (特別是消費者配額) 可能包含許多不同配額的資訊。如要擷取特定圖表或警示政策的配額資訊,您必須找出該配額資料子集。
視來源而定,配額資料可能會包含標籤,可用來區隔所需資訊。這些標籤包括:
- 配額指標:配額指標是某種配額類型的 ID,不是指標清單中所述的指標類型之一。舉例來說,所有消費者配額資料都會以
serviceruntime.googleapis.com
指標類型 (例如quota/allocation/usage
) 寫入。這個指標類型含有quota_metric
標籤,可用來篩選特定配額,例如分配用量資料。 - 限制名稱:限制名稱會識別特定配額類型的限制。配額可能會與多個限制相關聯。舉例來說,讀取呼叫的配額可能會設有每分鐘 100 次的限制和每天 1000 次的限制,並使用
readsPerMinute
和readsPerDay
這兩個限制名稱。與配額相關的指標類型可能會為這個值提供limit_name
欄位。
所有 serviceruntime.googleapis.com/quota
指標類型都提供 quota_metric
標籤,但只有部分類型包含 limit_name
標籤。配額的資源專屬指標類型包含 limit_name
標籤。
只有部分 Google Cloud 服務支援配額指標。如要判斷服務是否支援配額指標,並找出配額專屬標籤的值,請按照下列步驟操作:
-
在 Google Cloud 控制台,依序前往「Quotas & System Limits」(配額與系統限制) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「IAM 與管理」的結果。
按一下 view_column「檢視資料欄」,然後在配額顯示畫面中新增下列資料欄:
- 指標:這個欄會顯示
quota_metric
標籤的值。 - 限制名稱:這個欄會顯示
limit_name
標籤的值。 - 受控資源:填入後,配額會使用所列的受控資源。如果為空白,則配額的受控資源為
consumer_quota
。
- 指標:這個欄會顯示
找出您感興趣的配額。
舉例來說,Compute Engine API 子網路配額會將「指標」列為
compute.googleapis.com/subnetworks
,將「限制名稱」列為SUBNETWORKS-per-project
,且不會列出「監控資源」。因此,這個配額的監控資源為consumer_quota
。
範例:查看特定消費者配額指標的用量
目標是建立圖表,依地區顯示 Compute Engine 的磁碟儲存空間總配額。這個消費者配額範例會擷取 quota/allocation/usage
資料,然後篩選資料,以便顯示特定配額指標的分配用量:
在 Google Cloud 控制台中,依序選取「Cloud Monitoring」(雲端監控) 和「Metrics Explorer」(Metrics Explorer)。
在工具列中展開時間範圍選單,然後選取「過去 14 天」。
展開「小工具類型」選單,然後選取「堆疊長條圖」。
設定 Metrics Explorer 以顯示配額用量:
- 按一下「選取指標」,然後在 filter_list「篩選列」中輸入
allocation
。 - 為資源選取「消費者配額」。
- 在指標類別中選取「配額」。
- 選取指標的「分配配額使用量」,然後點選「套用」。
- 展開「Aggregation」選單,然後選取「Unaggregated」。
圖表會以六週期間的長條圖顯示分配配額使用情形。查看圖例後,您會發現圖表顯示多項服務的配額使用情形。
如果您使用 Cloud Monitoring API,則等效的篩選器值如下:
metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota"
如要查看這個篩選器值,請展開「資源類型」選單,然後選取「直接篩選器模式」。
- 按一下「選取指標」,然後在 filter_list「篩選列」中輸入
如要將圖表限制為 Compute Engine 服務,請新增篩選器
service = compute.googleapis.com
:如果您使用 Cloud Monitoring API,則等效的篩選器值如下:
metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota" resource.label.service="compute.googleapis.com"
圖表現在會顯示 Compute Engine 配額的已分配配額用量時間序列。圖例會顯示每個顯示時間序列的
quota_metric
標籤值。這個值會識別特定配額。舉例來說,compute.googleapis.com/disks_total_storage
會識別 Compute Engine 的磁碟儲存空間總配額時間序列。圖表只會顯示已記錄使用情形的配額。舉例來說,如果專案沒有任何 Compute Engine 資源,則會在沒有資料的圖表中篩選
compute.googleapis.com
服務結果。如要建立顯示 Compute Engine 磁碟儲存空間配額總用量的圖表,請使用篩選器
quota_metric = compute.googleapis.com/disks_total_storage
:如果您使用 Cloud Monitoring API,則等效的篩選器值如下:
metric.type="serviceruntime.googleapis.com/quota/allocation/usage" resource.type="consumer_quota" metric.label.quota_metric="compute.googleapis.com/disks_total_storage"
上方圖表顯示
us-central1
和us-east1
區域的時間序列,以及包括us-central1-a
在內的多個可用區。如要進一步調整圖表,只顯示區域資料而非區域區域,請根據
location
標籤新增篩選器。在這個範例中,兩個區域的前置字元都是us-
,結尾則是1
,因此使用規則運算式location =~ ^us.*1$
的篩選器就能正常運作:
針對消費者配額,quota_metric
標籤的值會識別服務和正在監控的特定配額用量。建立監控特定配額指標的圖表或快訊政策時,您會使用這項資訊。
Cloud Monitoring 中的快訊政策
快訊政策是一種設定監控功能的方式,可在某些情況 (例如達到配額上限的 85%) 發生時通知您。
快訊政策是一組條件和通知資訊:
- 條件會說明所監控的項目、如何合併該資源的時序資料,以及產生事件的時機。警示政策至少須指定一個條件。
- 通知管道會指定事件發生時要通知誰,以及通知方式。舉例來說,您可以設定警示政策,將電子郵件傳送給特定使用者或一群使用者。
您可以使用兩種技巧建立警示政策條件:
使用監控篩選器選取及操作資料。舉例來說,如果您使用圖形介面建立快訊政策條件,就等同於建立篩選器。使用配額指標一文中的範例使用篩選器選取圖表資料。您也可以在 Monitoring API 要求中使用篩選器。
使用 MQL 選取及操縱資料。MQL 是一種以文字為主的查詢語言。您可以使用 MQL 程式碼編輯器,建立無法透過篩選器技術建立的查詢。建議您使用 MQL 建立以比率為準的警示政策。詳情請參閱「MQL 快訊政策範例」。
本頁將討論這兩種技術。您也可以使用這兩種技巧建立圖表。
篩選快訊政策範例
在本節中,每個子節都包含警示政策的 JSON 表示法,以及一對表格,說明如何在 Google Cloud 控制台中設定政策:
- 第一個表格說明瞭要監控的項目,以及如何彙整資料。
- 第二個表格說明事件的產生時機。
這些範例適用於以篩選器為基礎的方法。
這些政策都不會計算比率。如需比率相關範例,請參閱 MQL 快訊政策範例。
針對 quota/exceeded
錯誤發出快訊
您可以建立快訊政策,在Google Cloud 專案中的任何服務回報配額超出錯誤時收到通知。您可以使用 Google Cloud 控制台或 Cloud Monitoring API 建立這類政策。
使用 Google Cloud 主控台
本子節的其餘內容是針對快訊政策的條件對話方塊。
按照下表中的設定,完成「新條件」對話方塊的設定。這些設定會指定您想監控 Google Cloud 專案中所有服務的 serviceruntime
指標 /quota/exceeded
的時間序列資料,以及您想依配額限制分組資料。
「New condition」對話方塊 欄位 |
值 |
---|---|
資源和指標 | 在「資源」選單中,選取「消費者配額」。 在「指標類別」選單中,選取「配額」。 在「指標」選單中,選取「超過配額的錯誤」。 ( metric.type 為 serviceruntime.googleapis.com/quota/exceeded ,而 resource.type 為 consumer_quota )。
|
篩選 |
新增篩選器,讓圖表只顯示您要監控的服務資料。舉例來說,如要監控 Identity and Access Management 服務,請新增下列篩選器:service = iam.googleapis.com。 如果篩選欄位為空白,圖表中就會納入所有可用的指標資料。 |
滾動週期 | 選取 1 m |
滾動週期函式 | 選取 count true
這個指標的類型為 對於這個指標, |
跨時間序列 時間序列匯總 |
選取「 當資料進行分組時,匯總欄位會自動設為 |
跨時間序列 時間序列分組依據 |
選取「 這個選項會根據 |
按照下列設定,完成「設定觸發條件」對話方塊。這些設定會讓快訊政策在 1 分鐘內的超出配額錯誤數量超過 0 時,建立快訊。這裡選取 0 的值,是因為配額超出錯誤是意料之外的情況,表示需要增加配額,或需要修改服務以減少 API 要求。建議您使用較高的門檻。
「設定觸發條件」對話方塊 欄位 |
值 |
---|---|
條件類型 | Threshold |
快訊觸發條件 | Any time series violates |
門檻位置 | Above threshold |
門檻值 | 0 |
重新測試週期 | 1 公尺 |
使用 Cloud Monitoring API
您可以使用 API 方法 alertPolicies.create
建立這項快訊政策。您可以使用 Google Cloud CLI 或用戶端程式庫,直接叫用 Cloud Monitoring API。詳情請參閱「建立政策」。
如要瞭解如何以 JSON 或 YAML 格式表示快訊政策,請參閱範例政策。
以下是這項快訊政策的 JSON 格式表示法。
{
"combiner": "OR",
"conditions": [
{
"conditionThreshold": {
"aggregations": [
{
"alignmentPeriod": "60s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"metric.label.quota_metric"
],
"perSeriesAligner": "ALIGN_COUNT_TRUE"
}
],
"comparison": "COMPARISON_GT",
"duration": "60s",
"filter": "metric.type=\"serviceruntime.googleapis.com/quota/exceeded\" resource.type=\"consumer_quota\"",
"trigger": {
"count": 1
}
},
"displayName": "Quota exceeded error by label.quota_metric SUM",
}
],
"displayName": "Quota exceeded policy",
}
針對絕對 quota/allocation/usage
發出快訊
您可以建立快訊政策,在Google Cloud 專案中特定服務的分配配額用量超過使用者指定的門檻時通知您。您可以使用 Google Cloud 控制台或 Cloud Monitoring API 建立這類政策。
使用 Google Cloud 主控台
本子節的其餘內容是針對快訊政策的條件對話方塊。
按照下表中的設定,完成「新條件」對話方塊的設定。這些設定會指定您要監控 Google Cloud 專案中某項服務的 serviceruntime
指標 /quota/allocation/usage
的時間序列資料,以及您要依配額限制分組資料。
「New condition」對話方塊 欄位 |
值 |
---|---|
資源和指標 | 在「資源」選單中,選取「消費者配額」。 在「指標類別」選單中,選取「配額」。 在「指標」選單中,選取「分配配額使用量」。 ( metric.type 為 serviceruntime.googleapis.com/quota/allocation/usage ,而 resource.type 為 consumer_quota )。
|
篩選 |
新增篩選器,讓圖表只顯示您要監控的服務資料。舉例來說,如要監控 Identity and Access Management 服務,請新增下列篩選器:service = iam.googleapis.com。 如果篩選欄位為空白,圖表中就會納入所有可用的指標資料。 |
滾動週期 | 選取 1440 m 這項指標的取樣間隔。 |
滾動週期函式 | 選取 next older 滾動式時間窗口函式設為 |
跨時間序列 時間序列匯總 |
選取「 當資料進行分組時,匯總欄位會自動設為 |
跨時間序列 時間序列分組依據 |
選取「 這個選項會根據 |
按照下列設定完成「設定觸發條件」對話方塊。這些設定會導致快訊政策在 1440 分鐘內,只要時間序列的值超過 2.5,就會建立快訊。值 1440 公尺與滾動視窗相符。這個範例選用 2.5 的值,是因為這個值略高於測試系統的正常值。您應根據要監控的服務,以及對指標預期值範圍的瞭解,來選取閾值。
「設定觸發條件」對話方塊 欄位 |
值 |
---|---|
條件類型 | Threshold |
快訊觸發條件 | Any time series violates |
門檻位置 | Above threshold |
門檻值 | 2.5 |
重新測試週期 | 1440 公尺 |
使用 Cloud Monitoring API
您可以使用 API 方法 alertPolicies.create
建立這項快訊政策。您可以使用 Google Cloud CLI 或用戶端程式庫,直接叫用 Cloud Monitoring API。詳情請參閱「建立政策」。
如要瞭解如何以 JSON 或 YAML 格式表示快訊政策,請參閱範例政策。
以下是這項快訊政策的 JSON 格式表示法。
{
"combiner": "OR",
"conditions": [
{
"conditionThreshold": {
"aggregations": [
{
"alignmentPeriod": "86400s",
"crossSeriesReducer": "REDUCE_SUM",
"groupByFields": [
"metric.label.quota_metric"
],
"perSeriesAligner": "ALIGN_NEXT_OLDER"
}
],
"comparison": "COMPARISON_GT",
"duration": "86400s",
"filter": "metric.type=\"serviceruntime.googleapis.com/quota/allocation/usage\" resource.type=\"consumer_quota\" resource.label.\"service\"=\"iam.googleapis.com\"",
"thresholdValue": 2.5,
"trigger": {
"count": 1
}
},
"displayName": "Allocation quota usage for iam.googleapis.com by label.quota_metric SUM",
}
],
"displayName": "Absolute quota usage policy",
}
MQL 快訊政策範例
MQL 是一種以文字為基礎的查詢語言,使用一系列以管道連結的運算。相較於 Monitoring 篩選器,您可以使用 MQL 建立功能更強大且彈性的查詢。建議您使用 MQL 設定以比率為準的警示政策。舉例來說,您可以使用 MQL 設定費率配額使用率,這需要計算量測指標 (限制) 和差異指標 (費率) 的比例。
您可以使用 Google Cloud 主控台或 Monitoring API 建立以 MQL 為基礎的快訊政策:
Google Cloud 控制台:建立快訊條件時,請使用 MQL 程式碼編輯器。如要開啟程式碼編輯器,請在「Create alerting policy」對話方塊的工具列中,按一下 code「Query Editor」。如要進一步瞭解如何使用這個編輯器,請參閱「使用 MQL 程式碼編輯器」。
Monitoring API:使用
alertPolicies.create
方法,並提供MonitoringQueryLanguageCondition
類型的條件。這個條件類型會將 MQL 查詢做為欄位值。如要進一步瞭解如何使用 Monitoring API 和 MQL,請參閱「建立 MQL 快訊政策的條件」一文。
如要瞭解 MQL 的特定資訊,請參閱「使用 Monitoring Query Language」。如要進一步瞭解以 MQL 為基礎的快訊政策,請參閱「使用 MQL 的快訊政策」。
監控頻率配額與配額限制比率的警告政策
下列 MQL 查詢模式說明瞭警示政策,當特定資源服務的每分鐘使用率超過特定限制的 80%,系統就會傳送通知:
fetch consumer_quota
| filter resource.service == 'sample.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/rate/net_usage
| align delta_gauge(1m)
| group_by [resource.project_id, metric.quota_metric, resource.location],
sum(value.net_usage)
; metric serviceruntime.googleapis.com/quota/limit
| filter metric.limit_name == 'Limit'
| group_by [resource.project_id, metric.quota_metric, resource.location],
sliding(1m), max(val()) }
| ratio
| every 1m
| condition gt(val(), 0.8 '1')
如要使用這個查詢模式,請進行下列變更:
- 將
sample.googleapis.com
替換為要監控的服務。 - 將
Limit
替換為metric.limit_name
的限制值。如要瞭解如何找出限制名稱,請參閱「找出配額指標和限制名稱」一文。 - 將
delta_gauge
和sliding
函式中的1m
替換為適合限制的時間範圍。
請勿修改 every 1m
作業,因為這會決定查詢結果中資料點之間的距離。
您無法使用篩選器建立這項查詢。
監控含有萬用字元的費率配額比率的快訊政策
MQL 支援使用萬用字元、規則運算式和布林邏輯進行篩選。舉例來說,您可以使用 MQL 建立快訊政策,追蹤多個限制,並在任何限制超出門檻時發出警告。
以下 MQL 查詢模式說明瞭快訊政策,當任何資源服務的每分鐘或每日使用率超過 80%,系統就會傳送通知:
fetch consumer_quota
| filter resource.service =~ '.*'
| { { metric serviceruntime.googleapis.com/quota/rate/net_usage
| align delta_gauge(1m)
| group_by [resource.project_id, metric.quota_metric, resource.location],
sum(value.net_usage)
; metric serviceruntime.googleapis.com/quota/limit
| filter metric.limit_name =~ '.*PerMinute.*'
| group_by [resource.project_id, metric.quota_metric, resource.location],
sliding(1m), max(val()) }
| ratio
; { metric serviceruntime.googleapis.com/quota/rate/net_usage
| align delta_gauge(23h)
| group_by [resource.project_id, metric.quota_metric, resource.location],
sum(value.net_usage)
; metric serviceruntime.googleapis.com/quota/limit
| filter metric.limit_name =~ '.*PerDay.*'
| group_by [resource.project_id, metric.quota_metric, resource.location],
sliding(23h), max(val()) }
| ratio }
| union
| every 1m
| condition gt(val(), 0.8 '1')
在先前的查詢中,delta_gauge
對齊器的引數設為 23 小時,而非 1 天。MQL 只能要求 23 小時 30 分鐘的資料,而為了計算方便,delta_gauge
對齊器會在對齊期間增加一小時。如果您使用 delta_gauge(1d)
,則無法儲存條件,因為條件需要 25 小時的資料。這項行為與 next_older
對齊器不同,後者不會在對齊期間填入空格。
如要使用這個查詢模式,請進行下列變更:
- 將
resource.service
的規則運算式替換為您要追蹤的服務規則運算式。 - 在第一個比率中:
- 將
.*PerMinute.*
替換為metric.limit_name
,並使用規則運算式替換您要追蹤的第一組限制。如要瞭解如何找出限制名稱,請參閱「找出配額指標和限制名稱」一文。 - 將
delta_gauge
和sliding
函式中的1m
替換為適合您限制的視窗。
- 將
- 在第二個比率中:
- 將
.*PerDay.*
替換為metric.limit_name
,並使用規則運算式替換您要追蹤的第二組限制。 - 將
delta_gauge
和sliding
函式中的23h
替換為適合您限制的視窗。
- 將
請勿修改 every 1m
作業,因為這會決定查詢結果中資料點之間的距離。
您無法使用篩選器建立這項查詢。
針對某個限制的分配配額使用率發出警告
以下 MQL 查詢模式說明瞭警示,可監控特定資源服務的每日分配用量是否超過特定限制的 80%:
fetch consumer_quota
| filter resource.service == 'sample.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
| align next_older(1d)
| group_by [resource.project_id, metric.quota_metric, resource.location],
max(val())
; metric serviceruntime.googleapis.com/quota/limit
| filter metric.limit_name == 'Limit'
| align next_older(1d)
| group_by [resource.project_id, metric.quota_metric, resource.location],
min(val())
}
| ratio
| every 1m
| condition gt(val(), 0.8 '1')
如要使用這個查詢模式,請進行下列變更:
- 將
sample.googleapis.com
替換為要監控的服務。 - 將
Limit
替換為metric.limit_name
的限制值。如要瞭解如何找出限制名稱,請參閱「找出配額指標和限制名稱」一文。
請勿修改 every 1m
作業,因為這會決定查詢結果中資料點之間的距離。
範例:任何區域的 CPU 使用率為 75%
下列查詢會建立快訊政策,當 Compute Engine VM 執行個體的 CPU 使用率超過任何區域限制的 75%,就會觸發這項政策:
fetch consumer_quota
| filter resource.service == 'compute.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
| align next_older(1d)
| group_by [resource.project_id, metric.quota_metric, resource.location],
max(val())
; metric serviceruntime.googleapis.com/quota/limit
| filter metric.limit_name == 'CPUS-per-project-region'
| align next_older(1d)
| group_by [resource.project_id, metric.quota_metric, resource.location],
min(val())
}
| ratio
| every 1m
| condition gt(val(), 0.75 '1')
這項消費者配額政策會使用 Compute Engine API 中的「CPU」配額的 CPUS-per-project-region
限制名稱。如要瞭解如何找出限制名稱,請參閱「找出配額指標和限制名稱」一文。
監控任何服務的分配配額比率的快訊政策
MQL 支援使用萬用字元、規則運算式和布林邏輯進行篩選。舉例來說,您可以使用 MQL 建立快訊,追蹤多個限制或服務,並在任何限制或服務超過閾值時發出警告。
以下 MQL 查詢說明瞭快訊,用於監控任何資源服務的每日分配用量是否超過任何配額限制的 80%:
fetch consumer_quota
| filter resource.service =~ '.*'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
| align next_older(1d)
| group_by [resource.project_id, metric.quota_metric, resource.location],
max(val())
; metric serviceruntime.googleapis.com/quota/limit
| align next_older(1d)
| group_by [resource.project_id, metric.quota_metric, resource.location],
min(val())
}
| ratio
| every 1m
| condition gt(val(), 0.8 '1')
您可以使用這個查詢,也可以將 resource.service
的規則運算式替換為要追蹤的服務規則運算式。您也可以篩選特定服務,並在限制篩選器中使用萬用字元。
請勿修改 every 1m
作業,因為這會決定查詢結果中資料點之間的距離。
範例:特定區域的 CPU 使用率超過 50%
下列查詢會建立快訊政策,當 Compute Engine VM 執行個體的 CPU 用量超過 us-central1
區域中限制值的 50%,就會觸發這項政策。這項查詢會根據限制名稱和資源位置篩選 limit
資料:
fetch consumer_quota
| filter resource.service == 'compute.googleapis.com'
| { metric serviceruntime.googleapis.com/quota/allocation/usage
| align next_older(1d)
| group_by [resource.project_id, metric.quota_metric, resource.location],
max(val())
; metric serviceruntime.googleapis.com/quota/limit
| filter metric.limit_name == 'CPUS-per-project-zone' &&
resource.location =~ 'us-central1-.*'
| align next_older(1d)
| group_by [resource.project_id, metric.quota_metric, resource.location],
min(val())
}
| ratio
| every 1m
| condition gt(val(), 0.50 '1')
這項消費者配額政策會使用 Compute Engine API 中的「CPU」配額的 CPUS-per-project-zone
限制名稱。如要瞭解如何找出限制名稱,請參閱「找出配額指標和限制名稱」一文。
使用資源專屬配額的比率警示
您可以使用 MQL 為特定資源的配額相關指標設定比率。在這種情況下,您會指定特定服務的監控資源,並針對一對資源專屬的配額相關指標計算比率。
以下查詢模式說明警示,用於監控配額使用量是否超過上限的 80%:
fetch sample.googleapis.com/SampleResource
| { metric sample.googleapis.com/quota/samplemetric/usage
| align next_older(1d)
| group_by [resource.label_1, ... , resource.label_n,
metric.label_1, ... , metric.label_n],
max(val())
; metric sample.googleapis.com/quota/samplemetric/limit
| align next_older(1d)
| group_by [resource.label_1, ... , resource.label_n,
metric.label_1, ... , metric.label_n],
min(val())
}
| ratio
| every 1m
| condition gt(val(), 0.8 '1')
如要使用這個查詢模式,請進行下列變更:
- 將
sample.googleapis.com
替換為要監控的服務。 - 將
sampleResource
替換為相關聯的受控資源。 - 將
samplemetric
替換為一組指標類型的字串。 - 在
group_by
作業中,列出每個資源和指標標籤。
範例:任何區域的 CPU 使用率為 75%
舉例來說,下列 MQL 查詢會設定快訊,監控任何網路 ID 的 Compute Engine instances_per_vpc_network
配額使用率是否超過 80%:
fetch compute.googleapis.com/VpcNetwork
| { metric compute.googleapis.com/quota/instances_per_vpc_network/usage
| align next_older(1d)
| group_by [resource.resource_container, metric.limit_name,
resource.location, resource.network_id],
max(val())
; metric compute.googleapis.com/quota/instances_per_vpc_network/limit
| align next_older(1d)
| group_by [resource.resource_container, metric.limit_name,
resource.location, resource.network_id],
min(val())
}
| ratio
| every 1m
| condition gt(val(), 0.80 '1')
請注意,這個查詢使用的是資源類型 compute.googleapis.com/VpcNetwork
,而非 consumer_quota
,且會計算兩個 compute.googleapis.com/quota/instances_per_vpc_network
指標 (usage
和 limit
) 的比例。
圖表範例
圖表會顯示時間序列資料。您可以使用 Metrics Explorer 建立圖表。您可以使用 Metrics Explorer 捨棄不再需要的圖表,也可以將圖表儲存到資訊主頁。您可以在資訊主頁檢視畫面中,將圖表新增至資訊主頁。
如果您只想設定顯示配額資料的圖表,可以使用「新條件」表格中的設定。警告觸發條件使用的符號與圖表工具不同。圖表工具包括 Metrics Explorer,以及在自訂資訊主頁上設定圖表:「New condition」對話方塊 欄位名稱 |
圖表 |
---|---|
滾動週期函式 | 根據所選指標和匯總設定,以最佳方式設定。 如要指定對齊函式,請執行下列操作:
|
滾動週期 | 時間間隔下限 (如要存取,請按一下 add「新增查詢元素」) |
時間序列分組依據 (位於「跨時間序列」部分) |
「Aggregation」元素的第二個選單 |
時間序列匯總 (位於「跨時間序列」部分) |
Aggregation 元素的第一個選單 |
quota/rate/net_usage
的時間序列
如要查看 Google Cloud 專案中所有服務的 serviceruntime
指標 quota/rate/net_usage
時序資料,並以配額指標名稱分組資料並顯示使用率,請使用下列設定:
「New condition」對話方塊 欄位 |
值 |
---|---|
資源和指標 | 在「資源」選單中,選取「消費者配額」。 在「指標類別」選單中,選取「配額」。 在「指標」選單中,選取「頻率配額用量」。 ( metric.type 為 serviceruntime.googleapis.com/quota/rate/net_usage ,而 resource.type 為 consumer_quota )。
|
篩選 |
新增篩選器,讓圖表只顯示您要監控的服務資料。舉例來說,如要監控 Identity and Access Management 服務,請新增下列篩選器:service = iam.googleapis.com。 如果篩選欄位為空白,圖表中就會納入所有可用的指標資料。 |
滾動週期 | 選取 1 m 1 分鐘的時間範圍與這項指標的取樣間隔相符。 |
滾動週期函式 | 選取 rate
將對齊器設為 |
跨時間序列 時間序列匯總 |
選取「 當資料進行分組時,匯總欄位會自動設為 |
跨時間序列 時間序列分組依據 |
選取「 這個選項會根據 |
quota/instances_per_vpc_network/limit
的時間序列
如要查看compute.googleapis.com
指標 quota/instances_per_vpc_network/limit
的時間序列資料,以及 Google Cloud 專案中所有網路的資料,請使用下列設定:
「New condition」對話方塊 欄位 |
值 |
---|---|
資源和指標 | 在「Resource type」選單中,選取「VPC Network」。 在「指標類別」選單中,選取「配額」。 在「指標」選單中,選取「每個 VPC 網路的執行個體配額限制」。 ( metric.type 為 compute.googleapis.com/quota/instances_per_vpc_network/limit ,而 resource.type 為 compute.googleapis.com/VpcNetwork )。
|
篩選 | 留空 |
滾動週期 | 選取 1 m 這項指標的取樣間隔。 |
滾動週期函式 | 選取 mean |
跨時間序列 時間序列匯總 |
保持原狀none
|
跨時間序列 時間序列分組依據 |
留空 |
quota/instances_per_vpc_network/usage
的時間序列
如要查看 compute.googleapis.com
指標 quota/instances_per_vpc_network/usage
的時間序列資料,請針對 Google Cloud 專案中的其中一個聯播網,使用下列設定:
「New condition」對話方塊 欄位 |
值 |
---|---|
資源和指標 | 在「Resource type」選單中,選取「VPC Network」。 在「指標類別」選單中,選取「配額」。 在「指標」選單中,選取「每個 VPC 網路的執行個體配額用量」。 ( metric.type 為 compute.googleapis.com/quota/instances_per_vpc_network/usage ,而 resource.type 為 compute.googleapis.com/VpcNetwork )。
|
指標 | 在「Metric」選單中,選取 compute.googleapis.com/quota/instances_per_vpc_network/usage 。 |
篩選 |
新增篩選器,讓圖表只顯示部分資料。舉例來說,如要查看特定網路的用量,請新增下列篩選器:network_id = identifier。 如果篩選欄位為空白,圖表中就會顯示所有可用的指標資料。 |
滾動週期 | 選取 1 m 這項指標的取樣間隔。 |
滾動週期函式 | 選取 mean |
跨時間序列 時間序列匯總 |
保持原狀none
|
跨時間序列 時間序列分組依據 |
留空 |
MQL 圖表
您可以使用 MQL 查詢,透過 MQL 程式碼編輯器建立圖表。舉例來說,您可以將 MQL 快訊政策範例中顯示的任何查詢輸入程式碼編輯器。您可以省略每個查詢中的最後一個作業 condition
,除非您要為警示政策建立條件,否則這項作業會套用。在圖表中,condition
運算不會執行任何操作。
詳情請參閱「使用 MQL 程式碼編輯器」和「MQL 範例」。