記錄指標疑難排解

如要診斷及解決 Cloud Logging 記錄指標的問題 (例如資料遺失、計數延遲或誤報),請參閱本頁的疑難排解指南。

本頁內容僅適用於從記錄檔衍生的指標資料。不適用於由 Google Cloud 服務或應用程式直接寫入的指標資料。

無法查看或建立指標

記錄指標僅適用於單一 Google Cloud 專案,或 Google Cloud 專案中的 Logging bucket。您無法為其他 Google Cloud資源 (例如帳單帳戶或組織) 建立記錄指標。記錄指標只會針對接收記錄的 Google Cloud 專案或 bucket 計算。

您必須具備正確的 Identity and Access Management 權限,才能建立記錄指標。詳情請參閱「使用 IAM 控管存取權:記錄指標」。

指標遺漏記錄資料

此項目僅適用於 Google Cloud Observability 從記錄資料衍生的指標資料 (記錄指標)。不適用於 Google Cloud 服務或應用程式寫入的指標資料。

記錄指標缺少資料的可能原因如下:

  • 新的記錄項目可能不符合指標的篩選條件。記錄指標會從指標建立後收到的相符記錄項目中取得資料。Logging 不會從先前的記錄項目回填指標。

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

  • 您的指標計數可能會延遲。雖然可計數的記錄項目會顯示在 Logs Explorer 中,但 Cloud Monitoring 中的記錄指標最多可能需要 10 分鐘才會更新。

  • 顯示的記錄項目可能延遲計入或完全未計入,因為時間戳記過早或過晚。如果 Cloud Logging 收到記錄項目的時間超過 24 小時,或是在未來 10 分鐘內,則記錄指標不會計入該記錄項目。

    延遲到達的項目數量會記錄在記錄指標 logging.googleapis.com/logs_based_metrics_error_count 中。

    範例:與記錄指標相符的記錄項目延遲送達。timestamp 為 2020 年 2 月 20 日下午 2:30,receivedTimestamp 為 2020 年 2 月 21 日下午 2:45。這項項目不會計入記錄指標。

  • 記錄指標是在可能計入的記錄項目送達後建立。記錄指標會評估儲存在記錄檔 bucket 中的記錄項目,不會評估儲存在 Logging 中的記錄項目。

  • 記錄指標有資料缺口。部分資料缺口是預期中的情況,因為處理記錄指標資料的系統無法保證每個指標資料點的持久性。資料缺口通常很少發生,且持續時間不長。不過,如果警告政策會監控記錄指標,資料缺口可能會導致誤報。您在警告政策中使用的設定可以降低這種可能性。

    範例:系統每五分鐘寫入一筆「heartbeat」記錄項目,並透過記錄指標計算「heartbeat」記錄項目的數量。警告政策會加總五分鐘間隔內的計數,並在總數小於一的時候通知您。如果時間序列缺少資料點,警告政策會插入合成值 (即最新樣本的副本,最可能是零),然後評估條件。因此,即使缺少一個資料點,加總值也可能為零,導致這項警告政策傳送通知。

    為降低誤報風險,請將政策設為計算多個「heartbeat」記錄項目,而非僅計算一個。

Cloud Monitoring 中的資源類型為「undefined」

此項目僅適用於 Google Cloud Observability 從記錄資料衍生的指標資料 (記錄指標)。不適用於 Google Cloud 服務或應用程式寫入的指標資料。

部分 Cloud Logging 受監控資源類型不會直接對應至 Cloud Monitoring 受監控資源類型。舉例來說,當您首次根據記錄指標建立警告政策或圖表時,可能會看到資源類型為「undefined」。

未定義資源類型。

受監控資源類型會對應至 global,或 Cloud Monitoring 中的其他受監控資源類型。請參閱「僅限 Logging 資源的對應關係」,判斷要選擇哪種受監控資源類型。

通知中的標籤未解析

此項目僅適用於 Google Cloud Observability 從記錄資料衍生的指標資料 (記錄指標)。不適用於 Google Cloud 服務或應用程式寫入的指標資料。

您會建立記錄指標,然後建立警告政策來監控該記錄指標。在警告政策的文件欄位中,您可以使用 ${log.extracted_label.KEY} 格式的變數來參照擷取的標籤,其中 KEY 是您為擷取標籤指定的名稱。通知中的標籤未解析。

如要解決這個問題,請按照下列其中一種做法進行:

  • 從說明文件中移除擷取的標籤內容。監控記錄指標的警告政策無法從記錄項目擷取資料。

  • 建立記錄式警告。這些警告政策可從觸發警告政策的記錄項目中擷取資料。

未建立警告或誤判

此項目僅適用於 Google Cloud Observability 從記錄資料衍生的指標資料 (記錄指標)。不適用於 Google Cloud 服務或應用程式寫入的指標資料。

您可能會收到誤報警告,或 Monitoring 未根據記錄指標建立警告,因為警告政策的對齊週期太短。在下列情況中,您可能會遇到誤判:

  • 警告政策使用「小於」邏輯時。
  • 警告政策是以分布指標的百分位數條件為依據。
  • 指標資料有缺漏。

記錄項目可能會延遲傳送至 Logging,因此可能會出現誤判警告。舉例來說,在某些情況下,記錄欄位 timestamp 和 receiveTimestamp 可能會有幾分鐘的差異。此外,當 Logging 將記錄儲存在記錄檔 bucket 時,記錄項目生成和 Logging 接收記錄項目之間會有固有的延遲。也就是說,Logging 可能要等到記錄項目產生後一段時間,才能取得特定記錄項目的總數。因此,如果警告政策使用「小於」邏輯,或依據分布指標的百分位數條件,就可能產生偽陽性警告,因為並非所有記錄項目都已納入計算。

不過,記錄指標最終會保持一致,因為與記錄指標相符的記錄項目,可以傳送至 Logging,其 timestamp 遠比記錄的 receiveTimestamp 舊或新。

這表示記錄指標可以接收時間戳記較舊的記錄項目,即使 Logging 已收到時間戳記相同的現有記錄項目。因此,指標值必須更新。

為確保通知準確,即使是準時資料,也建議您將條件的對齊週期設得夠長,以便計算符合篩選條件的多個記錄項目,並考量擷取延遲時間 (最長可達 10 分鐘)。

舉例來說,如果記錄指標計算的是預期每 7 分鐘出現一次的「heartbeat」記錄項目,請將校正週期設為至少 24 分鐘。這個值會計入擷取延遲時間和兩個樣本。

  • 如果您使用 Google Cloud 控制台,請透過「Rolling window」(滾動週期) 選單設定校正週期。

  • 如果您使用 API,請使用條件的 aggregations.alignmentPeriod 欄位設定對齊週期。

記錄指標的時間序列過多

此項目僅適用於 Google Cloud Observability 從記錄資料衍生的指標資料 (記錄指標)。不適用於 Google Cloud 服務或應用程式寫入的指標資料。

指標中的時間序列數量取決於標籤值的不同組合數量。時間序列的數量稱為指標的基數。指標的時間序列數量上限為 30,000。

由於您會為每個標籤值組合產生一個時間序列,因此如果有一或多個標籤具有大量值,則不難超過 30,000 個時間序列。請避免使用高基數指標。

隨著指標的基數增加,指標可能會受到限制,且部分資料點可能不會寫入指標。由於圖表必須處理大量時間序列,因此顯示指標的圖表載入速度可能會變慢。此外,您可能也需要支付查詢時間序列資料的 API 呼叫費用。請參閱「Google Cloud Observability 定價」頁面的 Cloud Monitoring 部分。

每個受監控資源的有效時間序列上限為 1,000,000 個,因此即使有效時間序列少於 30,000 個,系統仍可能限制指標資料。如果是專案層級記錄指標,資源是由記錄項目中的資源定義。如果是值區範圍記錄指標,資源為 logging_bucket。

為避免建立高基數指標,請注意下列事項:

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

    舉例來說,請勿在標籤中儲存大小、計數或時間長度。此外,請勿儲存網址、IP 位址或專屬 ID 等欄位,因為這些欄位都可能產生大量時間序列。

  • 避免擷取可能無限變更的簡訊做為標籤值。

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

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

這些系統記錄指標可協助您評估新增或移除標籤對指標基數的影響:

檢查這些指標時,您可以依指標名稱進一步篩選結果。詳情請參閱「選取指標:篩選」。

指標名稱無效

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

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

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

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

記錄指標值不正確

此項目僅適用於 Google Cloud Observability 從記錄資料衍生的指標資料 (記錄指標)。不適用於 Google Cloud 服務或應用程式寫入的指標資料。

您發現記錄指標回報的值,有時與 Logs Explorer 回報的記錄項目數量不同。

如要盡可能縮小差異,請按照下列步驟操作:

  • 確認應用程式不會傳送重複的記錄項目。如果記錄項目的 timestamp 和 insertId 相同,則視為重複。Logs Explorer 會自動隱藏重複的記錄項目。不過,記錄指標會計算符合指標篩選條件的每個記錄項目。

  • 請確認時間戳記在過去 24 小時內或未來 10 分鐘內,記錄項目才會傳送至 Cloud Logging。如果記錄項目的時間戳記不在這些範圍內,記錄指標就不會計算這些項目。

您無法完全避免記錄重複,如果在處理記錄項目時發生內部錯誤,Cloud Logging 會叫用重試程序。重試程序可能會導致記錄項目重複。如果記錄項目重複,記錄指標的值可能會過大,因為這些指標會計算符合指標篩選條件的每個記錄項目。

標籤值會遭到截斷

此項目僅適用於 Google Cloud Observability 從記錄資料衍生的指標資料 (記錄指標)。不適用於 Google Cloud 服務或應用程式寫入的指標資料。

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

無法刪除自訂記錄指標

此項目僅適用於 Google Cloud Observability 從記錄資料衍生的指標資料 (記錄指標)。不適用於 Google Cloud 服務或應用程式寫入的指標資料。

您嘗試使用 Google Cloud 控制台刪除自訂記錄指標。刪除要求失敗,刪除對話方塊會顯示錯誤訊息 There is an unknown error while executing this operation。

如要解決這個問題,請嘗試下列做法:

  • 重新整理 Google Cloud 控制台中的「記錄指標」頁面。這則錯誤訊息可能是內部時間問題所致。

  • 找出並刪除監控記錄指標的所有警告政策。確認記錄指標未受到警告政策監控後,請刪除記錄指標。無法刪除警告政策監控的記錄指標。