指定快訊政策的條件

快訊政策條件會定義監控內容和觸發快訊的時機。

舉例來說,假設您要定義一個快訊政策,指定在 Compute Engine VM 執行個體的 CPU 使用率超過 80%,並在時間超過 3 分鐘時發送電子郵件給您。您可以使用條件對話方塊,指定要監控 Compute Engine VM 執行個體的 CPU 使用率,而且您想要在使用率超過 80% 且時間持續 3 分鐘時觸發快訊。

事前準備

如要開啟「Conditions」(條件) 窗格,請執行下列步驟:

  1. 前往 [Stackdriver] > [Monitoring] (監控) > [Alerting] (快訊) > [Create a Policy] (建立政策)

    前往 [Create a Policy] (建立政策)

  2. 按一下 [Add Condition] (新增條件)

標題

「Title」(標題) 欄位是必填欄位。在您填妥條件對話方塊中的各個欄位後,系統會自動填入標題欄位。您可以變更自動填入的內容,改為對您較具意義的名稱。

條件類型

條件對話方塊可讓您選取要新增的條件類型。所有條件都包括一個定義快訊發出時機的設定,且每個條件類型皆有專屬的欄位:

  • 指標條件是由資源類型和指標所定義。
  • 運作時間檢查條件是由資源類型和運作時間檢查定義。
  • 程序健康狀態條件則是由資源類型和一系列篩選器所定義。

在分頁標籤標頭上使用箭頭捲動頁面,然後點選您要新增的條件類型:

新增或編輯條件

目標

選取條件類型之後,您可以透過「Target」(目標) 窗格中的各欄位定義條件欄位的值。舉例來說,如果您選取了指標條件,目標窗格就必須包含資源類型和指標的清單方塊。

如果您為任何類型的快訊政策選取目標,您將選取一組符合特定限制的時間序列。系統會在圖表上標示這些時間序列的條件。如要深入瞭解時間序列,請參閱指標、時間序列和資源

新增指標目標

指標目標是由資源類型和指標所定義。舉例來說,您可能會選取 [Compute Engine VM Instance] (Compute Engine VM 執行個體) 和 [CPU load (15m)] (CPU 負載 (15m)) 分別做為資源類型和指標。如要新增指標條件,請執行下列步驟:

  1. 按一下 [Metric] (指標) 分頁標籤。

  2. 點選 [Find resource type and metric] (尋找資源類型與指標) 欄位以顯示可用資源類型和指標的下拉式清單,然後選取您要監控的資源類型:

    選取資源類型

  3. 選取資源類型之後,清單就只會顯示該資源類型的指標。清單上只會列出有可用資料的指標。捲動「Metrics」(指標) 選項,然後選取您想要政策監控的特定指標:

    選取指標

選取資源類型和指標之後,該頁面會隨即展開以顯示圖表,並為快訊觸發條件提供完善的細部控制。如需進一步瞭解這些新選項,請參閱設定目標指標一文。以下列出更多詳細資訊:

  • 如需進一步瞭解如何建立自己的自訂指標,請參閱使用自訂指標一文。
  • 如要根據記錄項目內容建立指標,請參閱記錄指標總覽一文。
  • 如要瞭解快訊政策範例以及如何以 JSON 格式表示快訊政策,請參閱範例政策一文。

新增運作時間檢查目標

建議您從「Monitoring」(監控) >「Uptime checks」(運作時間檢查) 頁面建立運作時間檢查的快訊政策。在此情況下,系統會為您填入快訊政策中的條件欄位。詳情請參閱運作時間檢查的快訊一文。

新增程序健康狀態目標

程序健康狀態目標是由資源類型和一系列篩選器所定義。您可以設定只要符合特定模式的程序數在持續時間範圍內高於或低於門檻,事件就會觸發該政策。如要新增程序健康狀態條件,請執行下列步驟:

  1. 按一下 [Process health] (程序健康狀態) 分頁標籤。
  2. 在「Resource Type」(資源類型) 欄位,完成下列步驟:

    • 在左側下拉式清單中選取單一資源、資源群組或所有資源。
    • 在右側下拉式清單中選取您要監控的資源類型。舉例來說,您可能會選取 [Compute Engine VM Instance] (Compute Engine VM 執行個體)。讓 UI 為系統提供可用資源類型清單。
  3. 選取「Command Line」(指令列)、「Command」(指令) 和「User」(使用者) 篩選器相對應的欄位以找出您要監控的程序。在這些篩選器的左側下拉式清單中,選取字串相符的運算子,並在右側欄位指定查詢的內容。

    • 字串相符的運算子分別為:EqualsContainsStarts withEnds withRegex。這些作業會區分大小寫。
    • 查詢的語法需視您選擇的作業而定。您可以在查詢中使用萬用字元運算子。舉例來說,萬用字元 * 就與任何程序相符。

    您可以使用下列規則加總這三個篩選器的結果:

    • 如果您沒有指定任何篩選器的查詢值,系統會將所有程序都列入計算。

    • 如果您輸入某個篩選器的查詢,就只有與該篩選器相符的程序會列入計算。

    • 如果您輸入指令列和指令查詢,則與任一篩選器相符的程序都會列入計算。請注意,指令列在 1024 個字元後會遭到截斷,因此,系統無法針對指令列中超出該上限的文字進行比對。

    • 如果您輸入使用者查詢,與使用者篩選器和指令列或指令篩選器相符的程序都會列入計算。

範例

舉例來說,如要在專案中的所有 Compute Engine VM 執行個體上,計算由 root 所擁有的程序中其名稱含有 nginx 的程序數,您可以依照下列指示設定「Target」(目標) 地區:

  • 在「Resource type」(資源類型) 左側的下拉式清單中,選取 [All] (全部),然後選取右側下拉式清單中的 [Compute Engine VM Instance] (Compute Engine VM 執行個體)
  • 在「Command Line」(指令列) 左側的下拉式清單中,選取 [Contains] (包含),然後在右側欄位中輸入 nginx
  • 將「Command」(指令) 右側的欄位留空。
  • 在「User」(使用者) 左側的下拉式清單中,選取 [Equals] (等於),然後在右側欄位中輸入 root

顯示 root nginx

上圖中的圖表顯示,快訊門檻為一個程序加上兩個執行個體的資料。其中一個執行個體沒有符合篩選條件的程序,而另一個執行個體則有兩個程序符合篩選條件。

設定

指定目標後,您必須指出違反目標限制的內容。

您可以透過「Configuration」(設定) 地區定義觸發快訊政策的時機。設定地區會定義哪些時間序列會導致快訊遭觸發,以及這些時間序列在哪個時間下會無法符合政策規定。

舉例來說,如要設定只要任何時間序列超過 50 且持續時間達 3 分鐘,就會觸發快訊政策,請執行下列步驟:

  • 在「Condition triggers if」(符合下列情況時觸發條件) 下拉式清單中,選取 [Any time series violates] (任何時間序列違反條件時)。
  • 在「Condition」(條件) 下拉式清單中,選取 [is above] (超過)。
  • 在「Threshold」(門檻) 欄位輸入 50
  • 在「For」(持續時間) 下拉式清單中,選取 [3 minutes] (3 分鐘)

    設定目標指標

其他選項

除了前述範例中提及的設定選項以外,您也可以指定不同的時間序列子集來觸發快訊,以及指定不同的違規條件。

您可以使用「Condition triggers if」(符合下列情況時觸發條件) 下拉式清單,選取必須違反條件的目標子集:所以時間序列或時間序列子集。清單中提供的選項包括:

  • [Any time series violates] (任何時間序列違反條件時)
  • [Percent of time series violates] (時間序列的百分比違反條件時)
  • [Number of time series violates] (時間序列數違反條件時)
  • [All time series violate] (所有時間序列違反條件時)

「Condition」(條件) 下拉式清單中包括以下選項:

  • [Is above] (超過)
  • [Is below] (低於)
  • [Increases by] (值增加)
  • [Decreases by] (值減少)
  • [Is absent] (不存在)

在上述範例中,如果某個時間序列違反規定,系統就會判定違反限制。針對違規條件,「Condition」(條件) 欄位設為 [is above] (超過) 50,持續時間為三分鐘。因此,如果目標中有任何時間序列超過 50 且持續三分鐘,就會觸發快訊政策。

完成條件定義

如要完成條件定義並返回快訊政策對話方塊,請點選 [Save] (儲存)

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

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

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