

# 教學課程：使用指標數學函數來隱藏警示
<a name="suppress-alarms-tutorial-suppress"></a>

下列教學課程會逐步解說如何使用指標數學來隱藏 CloudWatch 警示。

**範例藍本**

在即將到來的星期二 1:00 到 3:00 AM UTC 之間要進行一場規劃的活動。您想要建立 CloudWatch 指標數學函數，將這段時間的實際資料點取代為 0 (低於設定閾值的資料點)。

1. 評估導致警示觸發的條件。下方螢幕擷取畫面提供警示條件的範例：  
![CloudWatch 畫面中顯示警示詳細資訊。](http://docs.aws.amazon.com/zh_tw/IDR/latest/userguide/images/metric-math-assess-alarm-criteria.png)

   上方螢幕擷取畫面中顯示的警示會監控 Application Load Balancer 目標群組的 `UnHealthyHostCount` 指標。當 `UnHealthyHostCount` 指標大於或等於 5 之 5 個資料點的 3 個時，此警示就會進入 `ALARM` 狀態。警示會將遺失的資料視為錯誤 (違反設定的閾值)。

1. 建立指標數學函數。

   在此範例中，在即將到來的星期二 1:00 到 3:00 AM UTC 之間要進行一場規劃的活動。因此，建立 CloudWatch 指標數學函數，將這段時間的實際資料點取代為 0 (低於設定閾值的資料點)。

   請注意，您必須設定的取代資料點會因警示組態而有所不同。例如，如果您的警示監控 HTTP 成功率，且閾值小於 98，則在規劃的活動期間將實際資料點取代為高於設定的閾值 100。以下是此案例的範例指標數學函數。

   ```
   IF((DAY(m1) == 2 && HOUR(m1) >= 1 && HOUR(m1) < 3), 0, m1)
   ```

   上述指標數學函數包含下列元素：
   + **DAY(m1) == 2**：確認是星期二 (星期一 = 1、星期日 = 7)。
   + **HOUR(m1) >= 1 && HOUR(m1) < 3**：指定時間範圍從 1 AM 到 3 AM UTC。
   + **IF(condition, value\_if\_true, value\_if\_false)**：如果條件為 true，則函數會將指標值取代為 0。否則會傳回原始值 (m1)。

   如需有關語法和可用函數的其他資訊，請參閱《Amazon CloudWatch 使用者指南》**中的[指標數學語法和函數](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/using-metric-math.html#metric-math-syntax)

1. 登入 AWS 管理主控台，並在 [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/) 開啟 CloudWatch 主控台。

1. 選擇**警示**，然後尋找您要新增指標數學函數的警示。

1. 在指標數學區段中，選擇**編輯**。

1. 選擇**新增數學**、**以空白運算式開始**。

1. 輸入您的數學運算式，然後選擇**套用**。

   警示監控的現有指標會自動變成 **m1**，而您的數學運算式為 **e1**，如下列範例所示：  
![CloudWatch 畫面中顯示指標數學運算式。](http://docs.aws.amazon.com/zh_tw/IDR/latest/userguide/images/metric-math-expression.png)

1. (選用) 編輯指標數學運算式的標籤，以協助其他人了解其功能及其建立原因，如下列範例所示：  
![CloudWatch 畫面中顯示指標數學運算式標籤的編輯情形。](http://docs.aws.amazon.com/zh_tw/IDR/latest/userguide/images/metric-math-edit-label.png)

1. 取消選取 **m1**、選取 **e1**，然後選擇**選取指標**。這樣就會將警示設定為監控數學運算式，而非直接監控基礎指標。

1. 選擇**跳至預覽並建立**。

1. 驗證警示的設定如預期，然後選擇**更新警示以儲存變更**。

在上述範例中，若未套用指標數學函數，則可能會在規劃的活動期間回報實際 `UnHealthyHostCount` 指標。這會導致 CloudWatch 警示進入 `ALARM` 狀態並且和事件偵測與回應互動，如下列範例所示：

![CloudWatch 畫面中顯示導致警示狀態的資料點。](http://docs.aws.amazon.com/zh_tw/IDR/latest/userguide/images/metric-math-example-alarm-state.png)


有了指標數學函數後，就會在活動期間將實際資料點取代為 0，且警示會保持 `OK` 狀態，藉此抑制事件偵測與回應參與。

![CloudWatch 畫面中顯示無警示狀態的資料點。](http://docs.aws.amazon.com/zh_tw/IDR/latest/userguide/images/metric-math-datapoints-no-alarm.png)
