Cloud Monitoring 中的每項指標都有「值類型」和「指標種類」,用於定義每個資料點的資料格式,以及連續資料點在一段時間內的關聯。瞭解這兩項屬性,有助於解讀內建指標、準確匯總時間序列,以及在設計自訂指標時選擇有效的組合。如要查看所有指標類型屬性的總覽,請參閱「指標類型」。
值類型
「值類型」是測量結果的資料類型。每個時間序列都會記錄資料點的值類型 (ValueType 類型)。
對於一次由單一值組成的測量結果 (例如布林值和數值資料),值類型會指出資料的儲存方式:
BOOL,布林值INT64,64 位元整數DOUBLE,雙精度浮點數STRING,字串
如果是分佈測量,值並非單一值,而是一組值。分布測量結果的值類型為
DISTRIBUTION。分布圖包含匯總一組值的統計資料。分布中的值包括平均值、計數、最大值和其他統計資料,這些資料是針對一組值計算而得。分布圖也可以包含直方圖,呈現一組範圍內的值分布情形。
延遲時間指標通常會以分布形式擷取資料。如要進一步瞭解分布,請參閱 Distribution 參考資料頁面。如要瞭解如何以圖表呈現這些指標,請參閱「分布指標」。
指標種類
每個時間序列都包含資料點的指標種類 (MetricKind 類型)。指標資料的種類會說明如何解讀各值之間的關係。Cloud Monitoring 指標分為三種:
gauge 指標:值會測量特定時間點。舉例來說,測量 CPU 使用率的指標就是量測指標,每個點都會記錄測量時的 CPU 使用率。另一個計量指標範例是目前溫度。
delta 指標:值會測量時間間隔內的變化。讀取作業的時間間隔為半開放式:不含開始時間,但包含結束時間
(startTime, endTime]。舉例來說,測量要求數量的指標就是差異指標;每個值都會記錄開始時間之後收到的要求數量,直到結束時間為止。累計指標,其值會隨著時間不斷增加。舉例來說,「已傳送的位元組」指標可能是累計值,每個值都會記錄服務在該時間點傳送的位元組總數。
支援的組合
並非所有指標種類和值類型的組合都有意義。舉例來說,您不會看到含有布林值資料的差異指標。有些組合搭配起來很合理。
下表列出支援的指標種類和值類型:
| 值類型 | GAUGE | DELTA | 累計4 |
|---|---|---|---|
| BOOL | 是 | 否 | 否 |
| INT64 | 是 | 是1 | 是 |
| DOUBLE | 是 | 是1 | 是 |
| STRING | 是1 | 否 | 否 |
| 發布 | 是2 | 是1, 3 | 是 |
1 自訂指標不允許使用這個組合,custom.googleapis.com。
2 記錄指標不允許這個組合。
詳情請參閱「設定分布類型記錄指標」。
3 這是記錄指標 logging.googleapis.com/user 唯一允許的組合,值類型為 DISTRIBUTION。詳情請參閱 Logging API LogMetric 參考資料中的 metricDescriptor 欄位。
4 累計指標無法直接用於 Monitoring 的圖表或快訊,但可匯總為非累計指標,以便用於這些用途。詳情請參閱「種類、類型和轉換」。
此外,如果您要建立自己的指標,則只能使用有效的值類型和指標種類組合。
模擬字串值自訂指標
自訂指標不支援字串值,但您可以透過下列方式複製字串值指標功能:
- 使用 INT64 值做為對應至字串值的列舉,建立 GAUGE 指標。查詢指標時,請在外部將列舉轉譯為字串值。
- 建立具有 BOOL 值和標籤的 GAUGE 指標,標籤的值是您要監控的其中一個字串。使用布林值指出該值是否為有效值。
舉例來說,假設您想建立名為「status」的字串值指標,可能選項包括 OK、OFFLINE 或 PENDING。您可以建立 GAUGE 指標,並加上 status_value 標籤。每次更新都會寫入三個時間序列,每個 status_value (OK、OFFLINE 或 PENDING) 各一個,值為 1 代表「true」,0 代表「false」。