

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 警示動作
<a name="alarm-actions"></a>

您可以在警示於 OK、ALARM 和 INSUFFICIENT\$1DATA 狀態之間變更時，指定其要採取的動作。

您可以針對上述三種狀態的轉換設定大多數動作。「自動擴展」動作除外，這些動作只有在狀態轉換時才會發生，而且如果條件持續數小時或數天，也不會再次執行。

以下支援為警示動作：
+ 透過使用 Amazon Simple Notification Service 主題，通知一個或多個訂閱用戶。訂閱用戶可以是應用程式以及個人。
+ 調用 Lambda 函數。這是您在警示狀態變更時自動執行自訂動作的最簡單方法。
+ 以 EC2 指標為基礎的警示也可以執行 EC2 動作，例如停止、終止、重新啟動或復原 EC2 執行個體。
+ 警示也可以執行動作來擴展 Auto Scaling 群組。
+ 警示可以在 Systems Manager OpsItems或在 AWS Systems Manager Incident Manager 中建立事件。這些動作只有在警示進入 ALARM 狀態時才會執行。
+ 警示可以在進入 ALARM 狀態時啟動調查。

警示也會在事件變更狀態 Amazon EventBridge 時向 發出事件，而且您可以設定 Amazon EventBridge 來觸發這些狀態變更的其他動作。

## 警示動作和通知
<a name="alarm-actions-notifications"></a>

下表顯示針對警示執行的動作，以及其針對多個時間序列 （或參與者） 警示的行為：


| 動作類型 | Metrics Insights 多時間序列警示支援 | PromQL 警示支援 | 詳細資訊 | 
| --- | --- | --- | --- | 
| SNS 通知 | 貢獻者層級 | 貢獻者層級 | [Amazon SNS 事件目的地](https://docs.aws.amazon.com/sns/latest/dg/sns-event-destinations.html) | 
| EC2 動作 (停止、終止、重新啟動、復原) | 不支援 | 不支援 | [停止、終止、重新啟動或復原 EC2 執行個體](UsingAlarmActions.md) | 
| Auto Scaling 動作 | 不支援 | 不支援 | [Amazon EC2 Auto Scaling 的步進和簡易擴展政策](https://docs.aws.amazon.com/autoscaling/ec2/userguide/as-scaling-simple-step.html) | 
| Systems Manager OpsItem 建立 | 警示層級 | 不支援 | [設定 CloudWatch 警示以建立 OpsItems](https://docs.aws.amazon.com/systems-manager/latest/userguide/OpsCenter-create-OpsItems-from-CloudWatch-Alarms.html) | 
| Systems Manager Incident Manager 事件 | 警示層級 | 不支援 | [使用 CloudWatch 警示自動建立事件](https://docs.aws.amazon.com/incident-manager/latest/userguide/incident-creation.html#incident-tracking-auto-alarms) | 
| Lambda 函式調用 | 貢獻者層級 | 貢獻者層級 | [從警示調用 Lambda 函式](alarms-and-actions-Lambda.md) | 
| CloudWatch 調查功能調查 | 警示層級 | 不支援 | [從警示啟動 CloudWatch 調查](Start-Investigation-Alarm.md) | 

警示通知的內容會根據警示類型而有所不同：
+ 單一指標警示同時包含狀態原因和詳細的狀態原因資料，顯示導致狀態變更的特定資料點。
+ 多時間序列 Metrics Insights 警示為每個參與者提供簡化的狀態原因，而不需要詳細的狀態原因資料區塊。
+ PromQL 警示不會在其通知中包含狀態原因或狀態原因資料。

**Example 通知內容範例**  
單一指標警示通知中包含詳細資料：  

```
{
  "stateReason": "Threshold Crossed: 3 out of the last 3 datapoints [32.6 (03/07/25 08:29:00), 33.8 (03/07/25 08:24:00), 41.0 (03/07/25 08:19:00)] were greater than the threshold (31.0)...",
  "stateReasonData": {
    "version": "1.0",
    "queryDate": "2025-07-03T08:34:06.300+0000",
    "startDate": "2025-07-03T08:19:00.000+0000",
    "statistic": "Average",
    "period": 300,
    "recentDatapoints": [41, 33.8, 32.6],
    "threshold": 31,
    "evaluatedDatapoints": [
      {
        "timestamp": "2025-07-03T08:29:00.000+0000",
        "sampleCount": 5,
        "value": 32.6
      }
      // Additional datapoints...
    ]
  }
}
```
貢獻者的多時間序列 Metrics Insights 警示 SNS 通知範例：  

```
{
  "AlarmName": "DynamoDBInsightsAlarm",
  "NewStateValue": "ALARM",
  "NewStateReason": "Threshold Crossed: 1 datapoint was less than the threshold (1.0). The most recent datapoint which crossed the threshold: [0.0 (01/12/25 13:34:00)].",
  "StateChangeTime": "2025-12-01T13:42:04.919+0000",
  "OldStateValue": "OK",
  "AlarmContributorId": "6d442278dba546f6",
  "AlarmContributorAttributes": {
    "TableName": "example-dynamodb-table-name"
  }
  // Additional information...
}
```
Contributor 的 PromQL 警示 SNS 通知範例：  

```
{
  "AlarmName": "HighCPUUsageAlarm",
  "NewStateValue": "ALARM",
  "StateChangeTime": "2025-12-01T13:42:04.919+0000",
  "OldStateValue": "OK",
  "AlarmContributorId": "1d502278dcd546a1",
  "AlarmContributorAttributes": {
    "team": "example-team-name"
  }
  // Additional information...
}
```

## 靜音警示動作
<a name="mute-alarm-actions"></a>

 警示靜音規則可讓您在預先定義的時段內自動將警示動作靜音，例如維護期間或操作事件。CloudWatch 會繼續監控警示狀態，同時防止不必要的通知。如需詳細資訊，請參閱[警示靜音規則](alarm-mute-rules.md)。

**靜音規則與停用警示動作**  
 警示靜音規則會在排程時段期間暫時將動作靜音，並在時段結束時自動解除靜音。相反地，`DisableAlarmActions`API 會永久停用警示動作，直到您手動呼叫 為止`EnableAlarmActions`。`EnableAlarmActions` API 不會取消靜音由作用中靜音規則靜音的警示。

**注意**  
 將警示靜音不會停止 CloudWatch 傳送警示事件，以建立、更新、刪除和狀態變更至 Amazon EventBridge。