排解快訊政策問題

本頁說明部分快訊政策可能無法如預期運作的原因,並提供這些情況的可能解決方法。

如要瞭解可能影響警告政策的變數 (例如選擇重新測試時間範圍),請參閱以指標為基礎的警告政策行為

磁碟使用率政策導致意外事件

您已建立快訊政策,監控系統中磁碟的「已用」容量。這項政策會監控指標 agent.googleapis.com/disk/percent_used。您希望只有在任何實體磁碟的使用率超過條件中設定的門檻時,才會收到通知。不過,如果每個實體磁碟的使用率都低於門檻,這項政策就會建立事件。

這些政策發生非預期事件的已知原因,是條件不限於監控實體磁碟。這些政策會監控所有磁碟,包括迴路裝置等虛擬磁碟。如果虛擬磁碟的建構方式導致使用率達到 100%,就會觸發政策事件。

舉例來說,請參考下列 Linux df 指令的輸出內容,其中顯示一個系統上已掛接檔案系統的可用磁碟空間:

$ df
/dev/root     9983232  2337708  7629140   24%  /
devtmpfs      2524080        0  2524080    0%  /dev
tmpfs         2528080        0  2528080    0%  /dev/shm
...
/dev/sda15     106858     3934   102924    4%  /boot/efi
/dev/loop0      56704    56704        0  100%  /snap/core18/1885
/dev/loop1     129536   129536        0  100%  /snap/google-cloud-sdk/150
...

對於這個系統,磁碟使用率警報政策應設定為篩除迴路裝置 /dev/loop0/dev/loop1 的時間序列。舉例來說,您可以新增 device !=~ ^/dev/loop.* 篩選器,排除 device 標籤不符合規則運算式 ^/dev/loop.* 的所有時間序列。

異常事件的常見原因

您建立了快訊政策,但該政策似乎過早或錯誤地建立事件。

您可能會收到看似不正確的事件通知,原因如下:

  • 如果資料有缺漏,尤其是指標不存在或具有「小於」臨界值條件的快訊政策,可能會建立看似異常的事件。有時事件不會顯示資料缺漏,有時資料缺漏會自動修正:

    • 舉例來說,圖表可能不會顯示缺漏資料的值,而是以插補方式填補。即使缺少幾分鐘的資料,圖表也會連線遺失的點,以維持視覺上的連續性。基礎資料中的這類缺口可能足以讓警告政策建立事件。

    • 記錄指標中的資料點可能會延遲抵達並回填,最多可回溯 10 分鐘。回填行為可有效修正缺口;資料最終抵達時,缺口就會填補。因此,如果記錄指標出現缺口,可能就會導致警告政策建立事件。

  • 系統會即時評估指標缺席和「小於」閾值條件,查詢延遲時間很短。條件的狀態可能會在評估時間與監控中顯示相應事件的時間之間變更。

  • 如果設定條件是針對單一指標建立事件,可能會導致事件過早或不正確。為避免發生這種情況,請先確認需要多次測量,再建立事件。方法是將條件的重新測試時間範圍設為指標取樣率的兩倍以上。

    舉例來說,如果指標的取樣頻率為每 60 秒一次,請將重新測試時間範圍設為至少 3 分鐘。如果將重新測試時間範圍設為「最新值」(或等同於 0 秒),單一測量結果就可能導致事件建立。

  • 編輯快訊政策的條件時,變更可能需要幾分鐘才會全面套用到快訊基礎架構。在這段期間,您可能會收到符合原始快訊政策條件的事件通知。

  • 時序資料送達後,最多可能需要一分鐘,資料才會在整個警報基礎架構中傳播。在此期間,即使時間序列資料尚未傳播至時間序列圖表,警報政策仍可能評估條件是否符合。因此,即使圖表未顯示符合條件,你仍可能會收到通知。為降低發生這種情況的可能性,請使用至少五分鐘的對齊週期。

  • 將「應用程式中心」標籤 metadata.system_labels.apphub_host_project_id 重新命名為 metadata.system_labels.apphub_application_container,可能會導致系統產生一些新事件,且無法關閉部分未解決的事件。

    您無須採取任何行動。如果資料停止傳送,系統就會在自動關閉時間到期後,自動關閉快訊。詳情請參閱「部分指標資料」。

資料停止傳送時,事件不會關閉

請按照「部分指標資料」一節中的指引,設定快訊政策,在資料停止傳送時關閉事件。在某些情況下,資料會停止傳送,但系統不會自動關閉未結事件。

如果警報政策監控的基礎資源包含 metadata.system_labels.state 標籤,且該政策不是以監控查詢語言編寫,則監控服務可以判斷資源的狀態。如果資源狀態已知為已停用,則當資料停止傳送時,Monitoring 不會自動關閉事件。不過,您可以手動結案。

發生權限錯誤,因此無法查看事故詳細資料

前往控制台的事件頁面,然後選取要查看的事件。 Google Cloud 您預期會開啟詳細資料頁面。不過,詳細資料頁面無法開啟,且顯示「權限遭拒」訊息。

如要查看所有事件詳細資料 (指標資料除外),請確認您具備「監控 Cloud Console 事件檢視者」(roles/monitoring.cloudConsoleIncidentViewer) 和「Stackdriver 帳戶檢視者」(roles/stackdriver.accounts.viewer) 的 Identity and Access Management (IAM) 角色。

如要查看所有事件詳細資料 (包括指標資料),並確認或關閉事件,請確認您具有 Monitoring 檢視者 (roles/monitoring.viewer) 和 Monitoring Cloud 控制台事件編輯者 (roles/monitoring.cloudConsoleIncidentEditor) 的 IAM 角色。

自訂角色無法授予查看事件詳細資料所需的權限。

符合條件時未建立事件

您建立的快訊政策設有一個條件。快訊政策的圖表顯示受監控的資料違反條件,但您未收到通知,且系統未建立事件。

如果符合快訊政策條件後,符合下列任一條件,則 Monitoring 不會開啟事件。

  • 快訊政策已延後
  • 快訊政策已停用。
  • 快訊政策可同時開啟的未解決事件數量已達上限
  • 快訊政策監控的資源狀態已知為已停用。如果資源包含 metadata.system_labels.state 標籤,且快訊政策不是以監控查詢語言編寫,監控功能就能判斷資源的狀態。

事件詳細資料清單顯示錯誤專案

您會收到通知,且條件摘要會列出建立事件的Google Cloud 專案,也就是列出範圍界定專案。不過,您預期事件會列出 Google Cloud 專案的名稱,該專案儲存導致 Monitoring 建立事件的時間序列。

快訊政策條件中指定的匯總選項,會決定通知中參照的 Google Cloud 專案:

  • 如果匯總選項會排除儲存專案 ID 的標籤,事件資訊就會列出限定範圍專案。舉例來說,如果您只依區域分組資料,分組後系統會移除儲存專案 ID 的標籤。

  • 如果匯總選項保留儲存專案 ID 的標籤,事件通知就會包含儲存時間序列的 Google Cloud 專案名稱,而時間序列會導致事件發生。如要保留專案 ID 標籤,請在分組欄位中加入標籤 project_id,或不要將時間序列分組。

無法手動關閉事件

您收到系統事件通知。前往事件詳細資料頁面,然後按一下「Close incident」(關閉事件)。您預期事件會關閉,但收到以下錯誤訊息:

Unable to close incident with active conditions.

只有在最近的快訊期間沒有任何觀察結果時,您才能關閉事件。快訊週期通常預設為 5 分鐘,可做為快訊政策條件的一部分,且可供設定。先前的錯誤訊息指出,系統在快訊期間內收到資料。

如果內部發生錯誤,導致事件無法關閉,就會出現下列錯誤:

Unable to close incident. Please try again in a few minutes.

如果看到先前的錯誤訊息,可以重試關閉作業,或讓監控服務自動關閉事件。

詳情請參閱「管理事件」。

多條件政策會建立多個通知

您建立的快訊政策包含多個條件,且您使用邏輯 AND 連結這些條件。您預期在符合所有條件時收到一則通知,並建立一個事件。不過,您會收到多則通知,並發現系統建立多個事件。

每當時間序列符合條件時,Monitoring 就會傳送通知並建立事件。因此,如果警報政策有多個條件,每當每個時間序列導致符合聯結條件時,您可能會收到一則通知和事件。

舉例來說,假設您有一項快訊政策包含兩個條件,每個條件會監控 3 個時間序列。只有在同時符合這兩項條件時,政策才會傳送通知。符合政策條件時,您可能會收到 2 則 (每個條件都符合一個時間序列) 到 6 則 (每個條件都符合所有時間序列) 的通知和事件。

您無法設定 Monitoring 建立單一事件並傳送單一通知。

詳情請參閱「每個事件的通知」。

指標標籤的變數為空值

建立快訊政策,並在說明文件部分新增指標標籤的變數。您預期通知會顯示變數的值,但該值已設為 null

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

  • 確認快訊政策的匯總設定會保留您想顯示的標籤。

    舉例來說,假設您建立的快訊政策會監控 VM 執行個體寫入的磁碟位元組。您希望文件列出導致通知的裝置,因此在文件欄位中新增以下內容:device: ${metric.label.device}

    此外,您也必須確認匯總設定會保留 device 標籤的值。如要保留這個標籤,請將匯總函式設為 none,或確認分組選項包含 device

  • 確認變數的語法和適用性。如需語法資訊,請參閱「使用使用者定義的註解標註通知」。

    舉例來說,變數 log.extracted_label.KEY 僅支援以記錄為準的快訊政策。即使快訊政策監控的是記錄指標,這個變數一律會顯示為 null

變更指標定義後,系統不會提供新資料

您變更了使用者定義指標的定義,例如修改記錄指標中使用的篩選器,但快訊政策未反映您對指標定義所做的變更。

如要解決這個問題,請編輯政策的顯示名稱,強制更新快訊政策。

API 中缺少指標,因此無法建立快訊政策

您最近建立了指標,然後嘗試在 Cloud Monitoring API 中建立快訊政策時,參考了該指標。不過,API 指令會失敗,並顯示下列錯誤:

Error 404: Cannot find metric(s) that match type = "METRIC_NAME".
If a metric was created recently, it could take up to 10 minutes to become
available. Please try again soon.

如要解決這個問題,請等待至少十分鐘,然後重新提交 API 要求。

快訊政策圖表未顯示門檻違規事項

您收到通知,指出系統已針對您的警報政策開啟事件。不過,當您前往政策的詳細資料頁面時,圖表並未顯示違反門檻。

如要解決這個問題,請縮短圖表的時間範圍。如要縮短時間範圍,請使用工具列中的時間範圍選取器,或使用指標在圖表上醒目顯示時間範圍。

圖表解析度有限,可能無法顯示特定時間範圍內的所有測量結果。