建立指標門檻快訊政策

在 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 的項目。如果項目通過不區分大小寫的「包含」測試,就會顯示。
      • 如要顯示所有指標類型 (包括沒有資料的指標類型),請按一下「 Active」(啟用中)。根據預設,選單只會顯示含有資料的指標類型。詳情請參閱「選單中未列出指標」。

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

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

    3. 選用:如要變更時間序列中資料點的對齊方式,請在「Transform data」(轉換資料) 區段中,設定「Rolling window」(滾動週期) 和「Rolling window function」(滾動週期函式) 欄位。舉例來說,如果使用 max,15 分鐘的時間範圍會輸出最近 15 分鐘的最大值。

      Google Cloud 控制台會根據指標類型設定預設值。如要監控記錄指標,請將「Rolling window」(滾動週期) 欄位設為至少 10 分鐘。

      如果您在「Rolling window function」(滾動週期函式) 中選取 count 或 mean,請確認函式與指標種類相符。count 函式會計算資料點,而非其值,而 mean 函式會計算 DELTA 指標的每個樣本變更平均值。如要針對 DELTA 指標的總量或比率發出警告,請改為選取 sum、delta 或 rate。如需支援的指標種類和值類型,請參閱 Aligner。

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

      詳情請參閱「對齊:系列內正規化」

    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. 選用:更新「Alert trigger」(警告觸發條件) 選單,其中包含下列值:

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

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

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

      • 所有時間序列不符合條件:所有時間序列在整個重新測試期間內,都必須不符合門檻,系統才會判定符合條件。

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

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

    4. 選用:如要選取測量結果必須違反門檻多久,Monitoring 才會傳送通知,請展開「Advanced options」(進階選項),然後使用「Retest window」(重新測試時間範圍) 選單。

      預設值為「不重新測試」。這項設定會讓單一測量結果觸發通知。詳情和範例請參閱「對齊週期和時間長度設定」。

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

      如果「Retest window」(重新測試週期) 的值為「No retest」(不重新測試),系統會停用「Evaluation missing data」(評估缺少資料) 選單。

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

      如果條件已符合,即使資料停止傳入,條件仍會保持符合狀態。如果這個條件有未解決的警告,警告會保持未解決狀態。如果警告已開啟,但沒有資料傳入,自動關閉計時器會在延遲至少 15 分鐘後啟動。如果計時器到期,警告就會關閉。

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

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

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

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

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

      如果條件已符合,當資料停止傳入時,條件就會停止符合。如果這個條件有開啟的警告,系統會關閉警告。

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

    6. 點選「下一步」。

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

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

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

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

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

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

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

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

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

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

    7. 選用:如要為警告政策新增自訂標籤,請在「Policy user labels」(政策使用者標籤) 專區執行下列操作:

      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. 選取「?」,然後在工具提示中選取 「Direct filter mode」(直接篩選器模式)。
    2. 輸入 Monitoring 篩選器或時間序列選取器。如要瞭解語法,請參閱下列文件:

監控變化率

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

  1. 如果時間序列具有 DELTA 或 CUMULATIVE 指標類型,則時間序列會轉換為具有 GAUGE 指標類型的時間序列。如要瞭解轉換,請參閱「種類、類型和轉換」。
  2. Monitoring 會比較最近 10 分鐘滑動視窗的平均值,以及對齊週期開始前 10 分鐘滑動視窗的平均值,藉此計算變化百分比。

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

後續步驟