本頁面提供記錄指標的概念總覽。這些指標有助於觀察大量記錄項目的趨勢和模式。
記錄指標簡介
記錄指標是從記錄項目內容取得的 Cloud Monitoring 指標。舉例來說,您可以使用記錄指標計算含有特定訊息的記錄項目數量,或擷取記錄項目中記錄的延遲時間資訊。您可以在 Cloud Monitoring 圖表中顯示記錄指標,並透過快訊政策監控這些指標。
記錄指標可套用至專案層級或記錄檔儲存空間層級。如果您使用匯總接收器將記錄項目轉送至記錄檔值區,或是將記錄項目從一個專案轉送至另一個專案的記錄檔值區,值區專屬記錄指標就非常實用。詳情請參閱本頁面「記錄指標來源」一節。
記錄指標的時間序列值判定方式
本節簡要說明如何判斷以計數器類型記錄為準的指標時間序列值。本文也說明記錄指標的時間序列為何可能出現間隙。分布值記錄指標的程序也類似。
如果是計數器類型的記錄指標,Logging 會執行下列動作:
這項服務會建立一或多個資料串流,並管理每個串流的一組記憶體內計數器。
每個指標和資源標籤組合的專屬值,都會產生一個串流。每個記憶體內計數器都適用於不同的時間間隔,但每個計數器都會記錄符合篩選條件的記錄項目數量,以及與間隔相符的時間戳記。
每分鐘,Logging 後端會針對每個串流,使用記憶體內計數器的值,判斷如何更新 Cloud Monitoring 管理的時間序列。
如果有五個串流,則 Monitoring 會管理五個時間序列。您可以繪製這些時間序列的圖表。您也可以建立警告政策,監控這些時間序列。
範例:零值如何導致資料缺口
請參考下列時間序列:
Example time series: (T1, -), (T2, -), (T3, 0), (T4, 1), (T5, 0), (T6, -)
在上述運算式中,(T1, -)
表示時間 T1
沒有寫入任何值。這表示時間序列中的值有缺漏。
相反地,(T3, 0)
表示時間 T3
的時間序列值為零。
對於每個串流,記錄檔指標的後端系統會使用下列規則,判斷要寫入 Monitoring 儲存時間序列的值:
如果間隔的匯總計數不為零,該值會寫入時間序列。
在範例時間序列中,只有間隔
T4
具有非零值。1
值表示時間戳記對應至T4
間隔的記錄項目符合記錄指標的篩選條件。如果某個時間間隔的匯總計數為零,且相鄰時間間隔的值不為零,系統就會在時間序列中寫入零值。
在範例時間序列中,時間
T3
的匯總計數為零。不過,由於在T4
時,匯總計數不為零,因此系統會寫入零值。同樣地,在時間T5
,匯總計數為零。由於前一個間隔的值不為零,因此系統會將零值寫入時間序列。否則,系統不會更新時間序列,且間隔會出現資料缺口。
在範例時間序列中,間隔
T1
、T2
和T6
沒有值。在這些間隔中,匯總計數為零,相鄰間隔的計數也為零。
處理延遲抵達和未來的記錄項目
如果記錄項目抵達時的時間戳記屬於已處理的間隔,Logging 後端會產生歷來資料。系統會使用歷來資料更新先前寫入的計數。
如果記錄項目抵達時的時間戳記是未來時間,記錄後端就會累計這些計數。在時間序列中,如果記錄項目的時間戳記對應至目前間隔,就會計入。
記錄指標的來源
您可以使用 Cloud Logging 定義的指標收集一般使用資訊,也可以定義自己的記錄指標,擷取應用程式或業務專屬的資訊。
記錄指標可套用至單一 Google Cloud 專案或記錄 bucket。您無法為其他 Google Cloud 資源 (例如 Cloud Billing 帳戶或機構) 建立記錄指標。
如要瞭解以專案為準的記錄指標與以 bucket 為準的記錄指標有何差異,請參閱「以 bucket 為準的記錄指標」。
系統定義的指標
記錄功能提供一組用量指標,例如專案中記錄值區儲存的記錄項目數量,或是您匯出的位元組數量。如需系統定義指標的完整清單,請參閱Google Cloud 指標:記錄。
系統定義的記錄指標適用於專案層級。
如果符合下列所有條件,記錄路由器就會計入記錄項目:
- 記錄項目會通過定義記錄指標的專案記錄接收器。
記錄項目會儲存在記錄檔值區中。記錄檔 bucket 可位於任何專案中。
舉例來說,假設專案
A
有一個記錄接收器,目的地是專案B
。此外,也假設專案中的記錄接收器B
會將記錄項目轉送至記錄 bucket。在這種情況下,從專案A
轉送至專案B
的記錄項目會計入專案A
的系統定義記錄指標。這些記錄項目也會計入專案B
的系統定義記錄指標。
使用者定義的指標
您可以建立使用者定義的記錄指標,追蹤對專案而言重要的其他指標。舉例來說,您可以透過建立記錄指標,計算與指定篩選條件相符的記錄項目數量。
根據預設,使用者定義的記錄指標是根據 Logging API 為 Google Cloud 專案接收的所有記錄檔計算,不論Google Cloud 專案是否套用納入篩選器或排除篩選器。
您也可以在 Google Cloud 專案中,為特定記錄檔值區建立使用者定義的記錄指標。系統會根據所有傳送至該值區的記錄檔計算值區範圍的記錄指標,不論記錄檔的來源為何。詳情請參閱「記錄值區的記錄指標」。
如果符合下列所有條件,記錄路由器就會計入記錄項目:
- 已為定義記錄指標的專案啟用帳單功能。
- 如果是值區範圍指標,記錄項目會儲存在定義記錄指標的記錄檔值區中。
- 如果是專案範圍指標,記錄項目會通過定義記錄指標的專案記錄接收器。
記錄指標的資料類型
記錄指標可從記錄中擷取資料,建立下列類型的指標:
- 計數器:這類指標會計算特定時間範圍內,符合指定篩選條件的記錄項目數。如要追蹤記錄中值或字串的出現次數,請使用計數器。
- 分布:這些指標也會計算值,但會將計數收集到值範圍 (直方圖值區) 中。如要擷取延遲等值,請使用分配情形。
- 布林值:這些指標會擷取記錄項目是否符合指定篩選條件。
使用者定義的記錄指標可以是計數器或分佈指標類型。大多數系統定義的記錄指標都是計數器,但有些是布林類型。後續章節會進一步說明計數器和分布圖的特性。
使用者定義的記錄指標資料只會來自建立指標後收到的記錄項目。系統不會將已在 Logging 中的記錄項目資料填入指標。
系統記錄指標只會根據納入的記錄計算。系統會根據納入和排除的記錄,計算使用者定義的記錄指標。
以下幾節說明計數器類型與分佈類型指標的特性。
計數器指標
計數器指標會計算符合指定篩選條件的記錄項目數。舉例來說,您可以執行下列操作:
- 計算包含某些特定錯誤訊息的記錄項目數。
尋找符合下列模式的記錄訊息,計算每位使用者叫用作業的次數:
... user USERNAME called OPERATION ...
透過擷取 USERNAME 和 OPERATION 並將這兩者當成兩個標籤的值來使用,您稍後可以提出「
sally
呼叫update
作業多少次?」「有多少人撥打read
這項作業的電話?」,「george
呼叫作業的次數是多少?」等等。
詳情請參閱「設定計數器指標」。
分布指標
分佈指標會從符合篩選器的記錄項目中累積數字資料。指標包含分配物件的時間序列,每個物件都包含下列項目:
- 分佈中的值計數。
- 值的平均值。
- 離均差平方和:Sumi=1..n(xi–mean)2
- 在每個值區中帶有值計數的一組直方圖值區。您可以使用預設值區版面配置或選擇您自己的版面配置。
分佈指標的常用用法是追蹤延遲時間。收到每個記錄項目時,系統會從記錄項目中的某處擷取延遲時間值,然後新增到分佈中。系統會定期將累積的分配情形寫入 Cloud Monitoring。
如要瞭解分布情形 (包括時間序列中的格式和視覺化方式),請參閱「繪製分布指標圖表」。
如要瞭解如何建立分佈記錄指標,請參閱「設定分佈指標」。
資源類型
建議您以記錄檔為準的指標指定單一資源類型。這項規格可確保為記錄檔指標產生的時間序列,符合 Cloud Monitoring 預期的資料模型。此外,由於系統會明確指出要繪製圖表或監控的時間序列資料,因此建立圖表和警告政策的程序也變得更加簡單。
假設記錄指標的篩選條件如下:
severity>="ERROR"
resource.type="gce_instance"
Cloud Monitoring 會辨識出這項資料屬於 Compute Engine VM 執行個體。因此,當您為 VM 執行個體建立圖表時,系統會在選單中列出記錄指標選項。為其他資源類型建立圖表時,系統不會將以記錄為準的指標列為選項。
如果您建立記錄指標時未指定資源類型,Monitoring 會將記錄指標列為多種資源類型的選項,即使您未計入這些資源的項目也是如此。
標籤
記錄指標可以有標籤,方便為指標收集多個時間序列。系統會從相符記錄項目的欄位中擷取標籤值。記錄會為每個標籤值組合建立不同的時間序列。
大多數記錄指標都會提供預設的 log
標籤。
此標籤可在記錄項目中保存 logName
欄位 LOG_ID 部分的值,例如 cloudresourcemanager.googleapis.com%2Factivity
。
系統記錄指標具有預先定義的標籤,無法變更。
使用者定義的記錄指標可以包含您定義的標籤。一般而言,這些標籤會從記錄項目中擷取值,並用於計算記錄指標。
舉例來說,您可以在記錄指標中使用標籤,記錄記錄項目來自的資料夾或機構,即使無法為資料夾或機構建立值區範圍的記錄指標也沒關係。詳情請參閱「記錄指標標籤」的說明。
Cloud Monitoring 中的圖表和快訊政策
在 Cloud Monitoring 中,您可以使用系統和使用者定義的記錄指標,建立圖表和快訊政策。對於這些圖表和警報政策,您可以使用標籤來篩選或合併時間序列。舉例來說,您可以設定篩選器,只顯示特定時間序列。詳情請參閱「列出記錄指標並繪製圖表」和「針對記錄指標設定快訊」。
在 Cloud Monitoring 中,記錄指標會使用下列命名模式:
- 系統:
logging.googleapis.com/SYSTEM_METRIC_NAME
- 使用者定義:
logging.googleapis.com/user/USER_METRIC_NAME
請注意,使用者定義的記錄指標包含字串 user
。
查看 Monitoring 指標範圍
Cloud Monitoring 會擷取記錄指標,而指標範圍會決定專案可見的指標資料。 Google Cloud 指標範圍是指由指標範圍的代管專案監控的專案清單;代管專案稱為範圍界定專案。
根據預設,每個專案都會代管僅包含自身的指標範圍,因此專案本身就是範圍專案。因此,只有您的Google Cloud 專案可以查看指標,包括記錄指標。
您也可以為範圍專案建立多專案指標範圍。使用多專案指標範圍時,限定範圍專案可以查看指標範圍內所有專案的指標。多專案指標範圍中個別專案可查看的內容,取決於各專案代管的指標範圍。兩個專案位於多專案指標範圍內,並不代表每個專案都能存取其他專案的指標或設定資料。
單一專案也可能出現在多個指標範圍中。 這些指標範圍的範圍界定專案可查看這類專案的指標。
指標 (包括記錄指標) 是在特定專案中定義。如果該專案出現在多個指標範圍中,則指標會顯示在定義指標的專案以外的專案中。如要瞭解指標範圍和以 bucket 為範圍的記錄指標如何互動,請參閱「專案和指標範圍」。
如要進一步瞭解指標範圍 (包括多專案指標範圍) 和限定範圍專案,請參閱下列文章:
限制
您無法建立記錄指標,計算含有錯誤群組的記錄項目數量。您也無法將錯誤群組的 ID 擷取到附加至記錄指標的標籤中。
定價
所有使用者定義的記錄指標都是 Cloud Monitoring 自訂指標中的一個類別,會產生費用。如要查看定價資訊,請參閱「Cloud Logging 定價:記錄指標」。
配額
如要瞭解與使用者定義記錄指標相關聯的配額和限制,請參閱「配額和限制」。
疑難排解
如果使用記錄指標時遇到問題,請參閱記錄指標疑難排解。