建立指標門檻快訊政策

在 Cloud Monitoring 中,如果指標值超過您為指定重新測試時間範圍定義的門檻,指標門檻警告政策就會傳送通知。舉例來說,您可以設定警告政策,在 CPU 使用率超過 80% 至少五分鐘時建立警告。

這項內容不適用於記錄警告政策。如要瞭解記錄式警告政策 (會在記錄中出現特定訊息時通知您),請參閱「監控記錄」。

如要在資料停止傳入或指標預計違反門檻時收到通知,請參閱「建立指標缺失警告政策」和「建立預測指標值警告政策」。如要使用 Cloud Monitoring API,以程式輔助方式建立警告政策,請參閱「使用 API 建立警告政策」。如要建立警告政策,並使用 Monitoring Query Language (MQL) 查詢搭配靜態或動態門檻,請參閱「使用 MQL 的警告政策」和「使用 MQL 建立動態嚴重性等級」。

這項功能僅支援 Google Cloud 專案。如果是 App Hub 設定,請選取 App Hub 主專案或管理專案。

事前準備

  1. 如要取得透過 Google Cloud 控制台建立及修改警告政策所需的權限,請要求系統管理員授予您專案的「Monitoring 編輯者 」(roles/monitoring.editor) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

    您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

    如要進一步瞭解 Cloud Monitoring 角色,請參閱「使用 Identity and Access Management 控管存取權」。

  2. 請務必熟悉警告政策的一般概念。如要瞭解這些主題,請參閱「快訊總覽」。

  3. 設定要用於接收通知的通知管道。為提供備援,建議您建立多種通知管道。詳情請參閱「建立及管理通知管道」。

建立警告政策

如要建立警告政策,將該指標的值與靜態門檻進行比較,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的 「Alerting」(警告) 頁面:

    前往「Alerting」(警告)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。

  2. 在 Google Cloud 控制台的工具列中,選取 Google Cloud 專案。如要設定 App Hub,請選取 App Hub 主專案或管理專案。
  3. 選取「建立政策」。
  4. 選取要監控的時間序列:

    1. 按一下「Select a metric」(選取指標),瀏覽選單,選取資源類型和指標類型,然後按一下「Apply」(套用)。

      「Select a metric」(選取指標) 選單包含可協助您找出可用指標類型的功能:

      • 如要尋找特定指標類型,請使用「Filter bar」(篩選列)。舉例來說,如果您輸入 util,選單就會只顯示包含 util 的項目。如果項目通過不區分大小寫的「包含」測試,就會顯示。
      • 如要顯示所有指標類型 (包括沒有資料的指標),請按一下「有效」。根據預設,選單只會顯示含有資料的指標類型。詳情請參閱「選單中未列出指標」。

      您可以監控任何內建指標或使用者定義的指標。

    2. 選用:如要監控符合上一步所選指標和資源類型的部分時間序列,請按一下「Add filter」(新增篩選器)。在篩選器對話方塊中,依序選取要篩選的標籤、比較子和篩選器值。舉例來說,篩選器 zone =~ ^us.*.a$ 使用規則運算式,比對可用區名稱開頭為 us 且結尾為 a 的所有時間序列資料。詳情請參閱「篩選所選時間序列」。

    3. 選用:如要變更時間序列中資料點的對齊方式,請在「Transform data」(轉換資料) 區段中,設定「Rolling window」(滾動週期) 和「Rolling window function」(滾動週期函式) 欄位。

      如要監控記錄指標,建議將「Rolling window」(滾動週期) 選單設為至少 10 分鐘。

      這些欄位會指定如何合併視窗中記錄的資料點。舉例來說,假設時間範圍為 15 分鐘,且 window 函式為 max。對應的資料點是最近 15 分鐘內所有資料點的最大值。詳情請參閱「對齊:序列內正規化」。

      您也可以使用「滾動週期函式」欄位,將指標值變更率設為「百分比變化」,監控指標值的變化率。詳情請參閱「監控變化率」。

    4. 選用:合併時間序列,減少政策監控的時間序列數量,或只監控一組時間序列。舉例來說,您可能不想監控每個 VM 執行個體的 CPU 使用率,而是想計算可用區中所有 VM 的 CPU 使用率平均值,然後監控該平均值。根據預設,系統不會合併時間序列。如需一般資訊,請參閱「縮減:合併時間序列」。

      如要合併所有時間序列,請按照下列步驟操作:

      1. 在「Across time series」(跨時間序列) 專區中,按一下 「Expand」(展開)。
      2. 將「Time series aggregation」(時間序列匯總) 欄位設為 none 以外的值。例如,如要顯示時間序列的平均值,請選取 mean。
      3. 確認「時間序列分組依據」欄位為空白。

      如要依標籤值合併或分組時間序列,請按照下列步驟操作:

      1. 在「Across time series」(跨時間序列) 專區中,按一下 「Expand」(展開)。
      2. 將「Time series aggregation」(時間序列匯總) 欄位設為 none 以外的值。
      3. 在「Time series group by」(時間序列分組依據) 欄位中,選取要分組的標籤。

      舉例來說,如果依 zone 標籤分組,然後將匯總欄位設為 mean 值,則圖表會針對有資料的每個可用區顯示一個時間序列。特定可用區顯示的時間序列,是該可用區所有時間序列的平均值。

    5. 點選「下一步」。

  5. 設定條件觸發條件:

    1. 將「Condition type」(條件類型) 欄位保留為預設值「Threshold」(門檻)。

    2. 選用:更新「警告觸發條件」選單,其中包含下列值:

      • 任何時間序列違反條件時:預設設定。只要有任何時間序列在整個重新測試期間違反門檻,就會符合條件。

      • 時間序列的百分比違反條件時:在整個重新測試期間,違反門檻的時間序列百分比必須達到指定值,才算符合條件。舉例來說,如果受監控的時間序列在整個重新測試期間,有 50% 違反閾值,您就會收到通知。

      • 時間序列數量不符合條件時:必須有特定數量的時間序列在整個重新測試期間違反門檻,條件才會成立。舉例來說,如果受監控的 32 個時間序列在整個重新測試期間都違反門檻,您就會收到通知。

      • 所有時間序列違反條件:所有時間序列必須在整個重新測試期間內違反門檻,才算符合條件。

      如要瞭解 Monitoring 用來對齊及測量時間序列資料的時間間隔,請參閱「對齊週期和重新測試時間範圍」。

    3. 使用「門檻位置」和「門檻值」欄位,輸入指標值違反門檻時的日期。舉例來說,如果將這些值設為「高於門檻」和 0.3,則任何高於 0.3 的測量結果都會違反門檻。

    4. 選用:如要選取測量值必須違反門檻多久,監控功能才會傳送通知,請展開「進階選項」,然後使用「重新測試時間範圍」選單。

      預設值是「不重新測試」。採用這項設定時,單一測量結果就可能觸發通知。如需更多資訊和範例,請參閱「對齊週期和時間長度設定」。

    5. 選用:如要指定 Monitoring 在資料停止傳入時如何評估條件,請展開「Advanced options」(進階選項),然後使用「Evaluation missing data」(評估遺失的資料) 選單。

      如果「重新測試週期」的值為「不重新測試」,系統會停用「缺少資料時評估」選單。

      Google Cloud 控制台
      「評估缺少資料」欄位
      摘要 詳細資料
      缺少資料空白 未排除的警告仍會保持未排除狀態。
      系統不會開啟新的 Google 快訊。

      如果條件已符合,即使資料停止傳入,條件仍會保持符合狀態。如果快訊因這個條件而開啟,則會保持開啟狀態。如果開啟快訊後沒有收到任何資料,系統會在至少延遲 15 分鐘後啟動自動關閉計時器。如果計時器到期,系統就會關閉快訊。

      如果條件未達成,當資料停止傳送時,條件仍會處於未達成狀態。

      缺少資料點會視為違反政策條件的值 未排除的警告仍會保持未排除狀態。
      可以開啟新的 Google 快訊。

      如果條件已符合,即使資料停止傳入,條件仍會保持符合狀態。如果這個條件有未解決的警告,警告會保持未解決狀態。如果警告已開啟,且在自動關閉時間長度加上 24 小時後仍未收到任何資料,警告就會關閉。

      如果未符合條件,這項設定會導致指標門檻條件的行為與 metric-absence condition 類似。如果資料未在重新測試時間範圍指定的時間內送達,系統就會判定符合條件。如果警告政策只有一項條件,只要符合該條件,就會觸發警告。

      缺少資料點會視為未違反政策條件的值 未解決的警告會關閉。
      不會開啟新的 Google 快訊。

      如果符合條件,但資料停止傳送,條件就會不再符合。如果這個條件有開啟的警告,系統會關閉警告。

      如果條件不符合,則在資料停止傳入時,條件仍會不符合。

    6. 點選「下一步」。

  6. 選用:建立具有多個條件的警告政策。

    大多數政策會監控單一指標類型,例如政策可能會監控寫入 VM 執行個體的位元組數。如要監控多種指標類型,請建立含有多項條件的政策。每項條件都會監控一種指標類型。建立條件後,請指定條件的組合方式。詳情請參閱「具有多項條件的政策」。

    如要建立具有多個條件的警告政策,請按照下列步驟操作:

    1. 如要新增其他警告觸發條件,請按一下「Add alert condition」(新增警告條件),然後設定該條件。
    2. 點選「下一步」,設定條件的組合方式。
    3. 按一下「下一步」,前往設定通知和文件。
  7. 設定通知並新增使用者標籤:

    1. 展開「Notifications and name」(通知和名稱) 選單,然後選取通知管道。為提供備援,建議您在警告政策中新增多種通知管道。詳情請參閱「管理通知管道」。

    2. 選用:如要在通知中使用自訂主旨行,而非預設主旨行,請更新「通知主旨行」欄位。

    3. 選用:如要在警告關閉時收到通知,請選取「Notify on alert closure」(警告關閉時通知)。根據預設,如果您是透過 Google Cloud 控制台建立警告政策,系統只會在警告產生時傳送通知。

    4. 選用:如要變更 Monitoring 在資料停止傳入後,等待多久才關閉警告,請從「Alert autoclose duration」(警告自動關閉時間長度) 選單中選取所需選項。根據預設,如果資料停止傳入,Monitoring 會等待七天,再關閉未解決的警告。

    5. 選用:如要將警告政策與 App Hub 應用程式建立關聯,請在「應用程式標籤」部分選取應用程式,以及服務或工作負載。警告和通知會顯示這些標籤。

    6. 選用:從「政策嚴重性等級」選單中選取所需選項。快訊和通知會顯示嚴重性等級。

    7. 選用:如要為警告政策新增自訂標籤,請在「政策使用者標籤」部分執行下列操作:

      1. 按一下「Add label」(新增標籤),然後在「Key」(鍵) 欄位中輸入標籤名稱。標籤名稱開頭須為小寫英文字母,可包含小寫英文字母、數字、底線和破折號。例如,輸入 severity。
      2. 按一下「值」,然後輸入標籤的值。標籤值可包含小寫英文字母、數字、底線和連字號。例如,輸入 critical。

      如要瞭解如何使用政策標籤管理通知,請參閱「使用標籤為快訊加上註解」。

  8. 選用:在「Documentation」(說明文件) 部分,輸入要納入通知的內容。

    您可以使用純文字、Markdown 和變數設定說明文件格式。您也可以加入連結,協助使用者偵錯快訊,例如內部劇本、 Google Cloud 資訊主頁和外部網頁的連結。舉例來說,下列說明文件範本描述 gce_instance 資源的 CPU 使用率警告,並包含多個變數,用於參照警告政策和條件 REST 資源。文件範本會將讀者導向外部頁面,協助進行偵錯。

    建立通知時,Monitoring 會將說明文件變數替換為其值。這些值只會取代通知中的變數。預覽窗格和 Google Cloud 控制台的其他位置只會顯示 Markdown 格式。

    預覽

    ## CPU utilization exceeded
    
    ### Summary
    
    The ${metric.display_name} of the ${resource.type}
    ${resource.label.instance_id} in the project ${resource.project} has
    exceeded 90% for over 15 minutes.
    
    ### Additional resource information
    
    Condition resource name: ${condition.name}  
    Alerting policy resource name: ${policy.name}  
    
    ### Troubleshooting and Debug References
    
    Repository with debug scripts: example.com  
    Internal troubleshooting guide: example.com  
    ${resource.type} dashboard: example.com
    

    通知中的格式

    通知中顯示說明文件的範例。

    詳情請參閱「使用使用者定義的文件為通知加上註解」和「使用管道控制項」。

  9. 按一下「Alert name」(警告名稱),輸入警告政策的名稱。

  10. 點選「建立政策」。

篩選所選時間序列

篩選器可確保系統只監控符合特定條件的時間序列。套用篩選條件後,圖表中的線條數量可能會減少,進而提升圖表效能。您也可以套用匯總,減少監控的資料量。篩選器可確保只使用符合一組條件的時間序列。套用篩選器後,需要評估的時間序列會減少,進而提升警告成效。

篩選器由標籤、比較運算子和值組成。舉例來說,如要比對 zone 標籤開頭為 "us-central1" 的所有時間序列,可以使用 zone=~"us-central1.*" 篩選器,該篩選器會使用規則運算式執行比較。

依專案 ID 或資源容器篩選時,必須使用等號運算子 (=)。依其他標籤篩選時,則可使用任何支援的比較運算子。一般來說,您可以篩選指標和資源標籤,以及資源群組。

如果提供多個篩選條件,系統只會監控符合「所有」條件的時間序列。

如要新增篩選器,請按一下「Add filter」(新增篩選器),完成對話方塊,然後按一下「Done」(完成)。在對話方塊中,使用「Filter」(篩選器) 欄位選取篩選條件,選取比較運算子,然後選取或輸入值。下拉式選單只會列出過去一週出現的值,但您可以輸入任何值。下表列出各個比較運算子、其意義和範例:

運算子意義範例
= 平等 resource.labels.zone = "us-central1-a"
!= 不等式 resource.labels.zone != "us-central1-a"
=~ 規則運算式 2 相等 monitoring.regex.full_match("^us.*")
!=~ 規則運算式 2 不等式 monitoring.regex.full_match("^us.*")
starts_with 值開頭為 resource.labels.zone = starts_with("us")
ends_with 值結尾為 resource.labels.zone = ends_with("b")
has_substring 值包含 resource.labels.zone = has_substring("east")
one_of 下列其中一項權限: resource.labels.zone = one_of("asia-east1-b", "europe-north1-a")
!starts_with 值開頭不是 resource.labels.zone != starts_with("us")
!ends_with 值結尾不是 resource.labels.zone != ends_with("b")
!has_substring 值不含 resource.labels.zone != has_substring("east")
!one_of 值不是下列其中一個 resource.labels.zone != one_of("asia-east1-b", "europe-north1-a")

疑難排解

本節提供疑難排解提示。

指標未列在可用指標選單中

如要監控「Select a metric」(選取指標) 選單中未列出的指標,請執行下列其中一項操作:

  • 如要建立監控 Google Cloud 指標的警告政策,請展開「Select a metric」(選取指標) 選單,然後按一下「 Active」。如果停用,選單會列出Google Cloud 服務的所有指標,以及含有資料的所有指標。

  • 如要在自訂指標類型產生資料前,為該指標類型設定條件,您必須使用 Monitoring 篩選器指定指標類型:

    1. 選取「?」「選取指標」部分標題,然後在工具提示中選取「直接篩選器模式」。
    2. 輸入監控篩選條件或時間序列選取器。 如要瞭解語法,請參閱下列文件:

監控變化率

如要監控指標值的變化率,請將「滾動週期函式」欄位設為「百分比變化」。評估條件時,Monitoring 會以百分比計算指標的變化率,然後將該百分比與條件門檻進行比較。這項比較程序包含兩個步驟:

  1. 如果時間序列的指標類型為 DELTA 或 CUMULATIVE,則會轉換為指標類型為 GAUGE 的時間序列。如要瞭解轉換,請參閱「種類、類型和轉換」。
  2. 監控功能會比較最近 10 分鐘滑動視窗的平均值,與對齊期開始前 10 分鐘滑動視窗的平均值,計算出變更百分比。

您無法變更變化率警告政策中,用於比較的 10 分鐘滑動時間範圍。不過,您在建立條件時,確實需要指定對齊週期。

後續步驟