記錄指標總覽

記錄指標是以記錄項目內容為基礎的 Stackdriver Monitoring 指標。例如,指標可以記錄包含特殊訊息的記錄項目數,或者可以擷取在記錄項目中報告的延遲資訊。您可在 Stackdriver Monitoring 圖表與快訊政策中使用記錄指標。

系統 (記錄) 指標由 Stackdriver Logging 預先定義。 這些指標記錄了在特定時間範圍內發生的記錄事件數。

使用者定義的 (記錄) 指標由使用者在專案上建立。這些指標會計算符合指定篩選器的記錄項目數,或追蹤相符記錄項目內的特定值。

Stackdriver Logging 會在每次收到相符記錄項目時累積記錄指標的資訊。Stackdriver Logging 會以每分鐘 1 個資料點的速率,定期將新資料點寫入至指標的時間序列,讓 Stackdriver Monitoring 能夠使用這些資料。

記錄指標的資料來自建立指標之後收到的記錄項目。系統不會將已在 Stackdriver Logging 中的記錄項目資料填入指標。

開始使用

  1. 前往 GCP 主控台的「Stackdriver Logging」>「記錄指標」頁面:

    前往記錄指標頁面

  2. 在頁面頂端選取現有的 GCP 專案,您會在 GCP 專案中看見記錄指標的清單:

記錄指標 UI

記錄指標介面

記錄指標介面分成兩個指標類型區:「系統指標」與「使用者定義的指標」

這兩個區域都包含指標的表格匯總。表格中每一列的最右側都有個溢位選單,具有下列選項:

記錄指標 UI

  • 「View in Metrics Explorer」(在 Metrics Explorer 中查看) 可讓您開啟 Stackdriver Monitoring Metrics Explorer 來查看系統記錄指標的資料。

    您可以使用 Metrics Explorer 來指定快訊政策的目標指標。「Target」(目標) 區域旁的圖表可讓您看見由目標指標擷取之資料的意見回饋。

  • 「Create alert from metric」可讓您根據記錄指標建立快訊政策。請注意,只有在指標是計數器指標的情況下才能使用此選項。

    選取此選項會開啟 Stackdriver Monitoring 主控台,您可以在此建立、編輯和管理快訊政策。詳情請參閱建立快訊政策一文。

使用者定義的指標介面

「記錄指標」介面的「User-defined metrics」(使用者定義的指標) 區域有其他一些功能,可協助您在專案上管理使用者定義的指標:

  • 使用者定義的指標表格包含「Name」(名稱)、「Description」(說明)、「Type」(類型) 與「Filter」(篩選器) 欄。這些欄可在建立指標時指定。

  • 位於使用者定義的指標表格上方的「Filter Metrics」(篩選指標) 方塊可讓您按文字搜尋或指標「Name」(名稱)、「Description」(說明) 與「Filter」(篩選器) 篩選指標清單:

記錄指標 UI

  • 使用者定義的指標表格包含「Previous Month Usage」(上個月的使用情形) 與「Usage (MTD)」(使用量 (月初至今)) 的欄。這些使用量指標很實用,例如,如果您想要查看哪些指標擷取了大多數資料,或者想要估算您的帳單金額時,就可以使用這些指標。

  • 您可以使用表格列末端的溢位選單來「Edit metric」(編輯指標) 及「Delete metric」(刪除指標)

此外,按一下任何一個欄名稱,可以讓您依遞增或遞減順序排序資料。您也可以在表格底部選取您想要顯示的列數。

如要進一步瞭解如何使用 GCP 主控台管理使用者定義的指標,請參閱建立計數器指標建立分佈指標等文。

記錄指標類型總覽

Stackdriver Logging 記錄指標可以是以下兩種指標類型之一:計數器分佈。所有系統記錄指標都屬於計數器類型。使用者定義的記錄指標可以是計數器類型,也可以是分佈類型。

記錄指標時間序列中的每個資料點都只表示自上一個資料點以來接收到的其他資訊 (「delta」)。

以下幾節說明計數器類型與分佈類型指標的特性。

計數器指標

計數器指標會計算符合進階記錄篩選器的記錄項目數。例如,您可以執行以下操作:

  • 建立指標以計算包含某些特定錯誤訊息的記錄項目數。
  • 尋找如下記錄訊息,計算每位使用者叫用作業的次數:

    ... user [USERNAME] called  [OPERATION] ...
    

    透過擷取 [USERNAME] 與 [OPERATION] 並將這兩者當成兩個標籤的值來使用,您稍後可以提出「sally 呼叫 UPDATE 作業多少次?」、「有多少人呼叫了 READ 作業?」、「george 呼叫了作業多少次?」等問題。

詳情請參閱建立計數器指標一文。

分佈指標

分佈指標會從符合篩選器的記錄項目中累積數字資料。指標中包含分佈物件的時間序列,其中每一個時間序列都包含以下內容:

  • 分佈中的值計數。
  • 值的平均值。
  • 離均差平方和:Sumi=1..n(xi–mean)2
  • 在每個值區中帶有值計數的一組直方圖值區。您可以使用預設值區版面配置或選擇您自己的版面配置。

分佈指標的常用用法是追蹤延遲時間。收到每個記錄項目時,系統會從記錄項目中的某處擷取延遲時間值,然後新增到分佈中。累計分佈會以定期間隔寫入至 Stackdriver Monitoring。

詳情請參閱建立分佈指標一文。

標籤

記錄指標可能會有標籤,這樣可以允許單一指標保存多個時間序列。標籤的值會從相符記錄項目中的欄位擷取。Stackdriver Logging 會為您標籤的每個不同值記錄個別的時間序列。

系統記錄指標有一些預先定義的標籤。您可為使用者定義的指標定義您自己的標籤。詳情請參閱記錄指標標籤一文。

系統記錄指標

Stackdriver Logging 提供一些預先定義的計數器指標,可追蹤收到的記錄項目的數量。指標會有標籤,用來按記錄名稱與嚴重性等級記錄計數。下表列出了指標:

指標名稱與說明 類型 標籤
logging.googleapis.com/log_entry_count

收到的記錄項目總數。

delta int64 log:記錄的名稱。例如:"appengine.googleapis.com/request_log"

severity:記錄項目的嚴重性。例如:"ERROR"

logging.googleapis.com/byte_count

收到的記錄項目位元組總數。

delta int64 log:記錄的名稱。例如:"appengine.googleapis.com/request_log"
logging.googleapis.com/excluded_log_entry_count

排除的記錄項目總數。

delta int64
logging.googleapis.com/excluded_byte_count

排除的記錄項目中的位元組總數。

delta int64
logging.googleapis.com/exports/log_entry_count

透過接收器匯出的記錄項目總數

delta int64
logging.googleapis.com/exports/byte_count

透過接收器匯出的記錄項目中位元組的總數

delta int64
logging.googleapis.com/exports/error_count

因發生匯出設定錯誤而未匯出的記錄項目總數。

delta int64
logging.googleapis.com/logs_based_metrics_error_count

遲到記錄項目數。1

delta int64 log:記錄的名稱。例如:"appengine.googleapis.com/request_log"

1 遲到的記錄項目不包含在 log_entry_countbyte_count 指標中。

如需系統記錄指標的完整清單,請參閱記錄指標一文。

Stackdriver Monitoring

您可在 Stackdriver Monitoring 中使用系統與使用者定義的記錄指標來建立圖表與快訊政策。使用者定義的記錄指標名稱前面會加上 user/ 前置字串;系統記錄指標則不會加上該前置字串。

如果您正在使用 Stackdriver Monitoring API,記錄指標名稱會顯示如下:

logging.googleapis.com/user/[USER_METRIC_NAME]
logging.googleapis.com/[SYSTEM_METRIC_NAME]

詳情請參閱建立圖表與快訊

疑難排解

指標遺漏記錄資料

記錄指標中遺漏資料有幾個可能的原因:

  • 新記錄項目可能與您指標的記錄篩選器不符。記錄指標會從在建立指標後收到的相符記錄項目取得資料。Stackdriver Logging 不會從之前的記錄項目對指標執行補充作業。

  • 新記錄項目可能不包含正確的欄位,或者資料可能不是分佈指標的正確擷取格式。請確認您的欄位名稱與規則運算式是否正確。

  • 您的指標計數可能會延遲。即使您在記錄檢視器中看見可計數的記錄項目,也需要一分鐘的時間才能更新 Stackdriver Monitoring 中的記錄指標。

  • 您看見的記錄項目可能會延遲計數,甚至根本不計數,因為這些記錄項目的時間戳記在過去或未來較遠的時間點。如果記錄項目收到的時間超過過去或未來 10 分鐘,系統就不會在記錄指標中計算這個記錄項目。

    系統會為系統記錄指標 logging.googleapis.com/logs_based_metrics_error_count 中的每個記錄記錄遲到項目數。

    例如:符合記錄指標的記錄項目會遲到。 記錄項目的 timestamp 是 2:30 PM,receivedTimestamp 是 2:45 PM。這個項目不會在記錄指標中計數。

指標有太多時間序列

您可能在記錄指標中具有使用者定義的標籤,而該標籤卻有大量的不重複值。指標中的時間序列數取決於標籤值的不同組合數。標籤值的基數如果很高,指標可能會遭到限制,某些資料點可能不會寫入到指標中。由於必須處理的時間序列數變多,指標載入圖表的速度也會變慢。您也可能會因查詢時間序列資料的 API 呼叫而產生費用;詳情請參閱 Stackdriver Monitoring 費用一文。

如要避免建立高基數指標:

  • 確認您的標籤欄位與擷取器規則運算式符合有限制基數的值。

  • 避免擷取可能隨標籤值無限制變更的長文字訊息。

  • 避免擷取無限制基數的數值。

  • 僅從已知基數的標籤擷取值;例如,具有一組已知值的狀態碼。

指標名稱無效

建立計數器或分佈指標時,請選擇在專案的記錄指標中不重複的指標名稱。

指標名稱字串不得超過100 個字元,且只能包含下列字元:

  • A-Z
  • a-z
  • 0-9
  • 特殊字元 _-.,+!*',()%\/

    正斜線字元 / 表示指標名稱元素階層,因此不得做為名稱的第一個字元。

標籤值會遭到截斷

使用者定義的標籤值不得超過 1,024 個位元組。

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Stackdriver Logging
需要協助嗎?請前往我們的支援網頁