

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# CloudWatch
<a name="automation-ref-cw"></a>

 AWS Systems Manager 自动化为 Amazon CloudWatch 提供了预定义的运行手册。有关运行手册的更多信息，请参阅[使用运行手册](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html)。有关如何查看运行手册内容的信息，请参阅 [查看运行手册内容](automation-runbook-reference.md#view-automation-json)。

**Topics**
+ [`AWS-ConfigureCloudWatchOnEC2Instance`](automation-aws-configurecloudwatchonec2instance.md)
+ [`AWS-EnableCWAlarm`](enable-cw-alarm.md)
+ [`AWSSupport-TroubleshootCloudWatchAgent`](automation-aws-troubleshootcloudwatchagent.md)
+ [`AWSSupport-TroubleshootCloudWatchAlarm`](automation-awssupport-troubleshoot-cloudwatchalarm.md)

# `AWS-ConfigureCloudWatchOnEC2Instance`
<a name="automation-aws-configurecloudwatchonec2instance"></a>

 **描述** 

启用或禁用 Amazon 对托管实例的 CloudWatch 详细监控。

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWS-ConfigureCloudWatchOnEC2Instance) 

**文档类型**

自动化

**所有者**

Amazon

**平台**

Linux，macOS, Windows

**参数**
+ AutomationAssumeRole

  类型：字符串

  描述：（可选）允许 Systems Manager Automation 代表您执行操作 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称（ARN）。如果未指定角色，Systems Manager Automation 将使用启动此运行手册的用户的权限。
+ InstanceId

  类型：字符串

  描述：（必填）您要启用 CloudWatch 监控功能的 Amazon EC2 实例的 ID。
+ properties

  类型：字符串

  说明：（可选）不支持此参数。此处列出它是为了实现向后兼容性。
+ 状态

  有效值：启用 \$1 禁用

  说明：（可选）指定启用还是禁用 CloudWatch。

  默认：Enabled

 **文档步骤** 

configureCloudWatch -在 Amazon EC2 实例 CloudWatch 上使用给定状态进行配置。

 **输出** 

此自动化没有输出。

# `AWS-EnableCWAlarm`
<a name="enable-cw-alarm"></a>

**描述**

`AWS-EnableCWAlarm`运行手册会为你 AWS 账户 中还没有警报的 AWS 资源创建 Amazon CloudWatch (CloudWatch) 警报。 CloudWatch 为以下 AWS 资源创建警报：
+ 亚马逊弹性计算云 (Amazon EC2) 实例
+ Amazon Elastic Block Store（Amazon EBS）卷
+ Amazon Simple Storage Service (Amazon S3) 存储桶
+ 亚马逊关系数据库服务 (Amazon RDS) 集群

[运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWS-EnableCWAlarm)

**文档类型**

自动化

**所有者**

Amazon

**平台**

Linux，macOS, Windows

**参数**
+ AutomationAssumeRole

  类型：字符串

  描述：（可选）允许 Systems Manager Automation 代表您执行操作 AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称（ARN）。如果未指定角色，Systems Manager Automation 将使用启动此运行手册的用户的权限。
+ ComparisonOperator

  类型：字符串

  有效值： GreaterThanOrEqualToThreshold GreaterThanThreshold \$1 GreaterThanUpperThreshold \$1 LessThanLowerOrGreaterThanUpperThreshol \$1 LessThanLowerThreshold \$1 LessThanOrEqualToThreshold \$1 LessThanThreshold

  描述：（必填）比较指定统计量和阈值时使用的算术运算。
+ MetricName

  类型：字符串

  描述：（必填）与警报关联的指标的名称。
+ 周期

  类型：整数

  有效值：10 \$1 30 \$1 60 \$1 60 的倍数

  描述：（必填）应用统计数据的周期（以秒为单位）。
+ 资源 ARNs

  类型： StringList

  描述：（必填）要为其创建 CloudWatch 警报 ARNs 的资源列表，以逗号分隔
+ Statistic

  类型：字符串

  有效值：平均值 \$1 最大值 \$1 最小值 \$1 SampleCount \$1 总和

  描述：（必填）与警报关联的指标的统计信息。
+ Threshold

  类型：整数

  描述：（必填）要与指定统计数据进行比较的值。

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+ `cloudwatch:PutMetricAlarm`

**文档步骤**
+ `aws:executeScript`-根据运行手册参数中指定的值为您在参数中指定的资源创建 CloudWatch 警报。`ResourceARNs`

**输出**

启用CWAlarm。 FailedResources：未 ARNs 为其创建 CloudWatch 警报的资源映射列表以及失败原因。

启用CWAlarm。 SuccessfulResources：已成功创建 CloudWatch 警 ARNs 报的资源列表。

# `AWSSupport-TroubleshootCloudWatchAgent`
<a name="automation-aws-troubleshootcloudwatchagent"></a>

 **描述** 

该**AWSSupport-TroubleshootCloudWatchAgent**运行手册可自动对您的亚马逊弹性计算云 (Amazon EC2) 实例上的亚马逊 CloudWatch 代理进行故障排除。运行手册通过一系列基本和（可选）扩展检查来执行此故障排除。

基本检查包括以下内容：
+ 查看 AWS Identity and Access Management (IAM) 实例配置文件
+ 验证是否已将必要的亚马逊 CloudWatch 代理 IAM 权限附加到亚马逊 EC2 实例

仅当提供的 Amazon EC2 实例 ID 是 Systems Manager 托管实例时，才会执行扩展检查。这些扩展检查包括以下内容：
+ 检查实例上的 Amazon CloudWatch 代理的状态
+ 分析 Amazon A CloudWatch gent 的日志，了解常见问题和相关的故障排除步骤
+ 将相关日志和配置文件压缩到亚马逊 EC2 实例上，然后选择将其上传到您选择的亚马逊简单存储服务 (Amazon S3) 存储桶
+ 在实例和所需终端节点之间执行连接检查

**重要**  
当`RunVpcReachabilityAnalyzer`参数设置为时`true`，此运行手册将确定是否需要调用子运行手册。`AWSSupport-AnalyzeAWSEndpointReachabilityFromEC2`子运行手册使用 VPC Reachability Analyzer，它会产生相关费用。有关定价的更多信息，请参阅 [Amazon VPC 定价](https://aws.amazon.com/vpc/pricing/)文档。

**重要**  
本运行手册仅检查您的 IAM 实例配置文件角色是否具有必要的权限。如果您改为依赖`.aws/credentials`文件中定义的凭据，则该`verifyIamPermissions`步骤的结果可能不准确。

 **如何工作？** 

运行手册执行以下步骤：
+ **getInstanceProfile**：验证所提供的 Amazon EC2 实例是否附加了 IAM 实例配置文件。
+ **verifyIamPermissions**：检查与该实例关联的实例配置文件以确定是否应用了必要的 IAM 权限。
+ **getInstanceInformation**：检查实例是否有活动的 Systems Manager 代理，并获取该实例的操作系统类型。
+ **getAgentStatus**：检查实例上的 Amazon CloudWatch 代理的状态（扩展检查）。
+ **analyzelogs/ analyzeLogsWindows**：根据操作系统类型分析并输出亚马逊 CloudWatch 代理日志的结果。
+ **CollectLogs/ collectLogsWindows**：根据操作系统类型捆绑并输出相关的 Amazon A CloudWatch gent 疑难解答文件。
+ **checkEndpointReachability/checkEndpointReachabilityWindows**：根据操作系统类型检查实例是否可以到达所需的终端节点。
+ **analyzeAwsEndpointReachabilityFromEC2**：调用子自动化运行手册以检查所选实例与所需端点的可访问性（如果已启用）。

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootCloudWatchAgent) 

**文档类型**

自动化

**所有者**

Amazon

**平台**

/

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+ ec2: DescribeInstances
+ 我是：GetInstanceProfile
+ 我是：GetRole
+ 我是：ListAttachedRolePolicies
+ 我是：ListRolePolicies
+ 我是：GetRolePolicy
+ 我是：GetPolicy
+ 我是：GetPolicyVersion
+ 我是：SimulatePrincipalPolicy
+ ssm：DescribeInstanceInformation
+ ssm：SendCommand
+ ssm：GetCommandInvocation
+ ssm：DescribeInstanceAssociationsStatus
+ ssm：StartAutomationExecution

策略示例：

```
{
        "Version": "2012-10-17",		 	 	 
        "Statement": [
            {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeInstances",
                "iam:GetInstanceProfile",
                "iam:GetRole",
                "iam:ListAttachedRolePolicies",
                "iam:ListRolePolicies",
                "iam:GetRolePolicy",
                "iam:GetPolicy",
                "iam:GetPolicyVersion",
                "iam:SimulatePrincipalPolicy",
                "ssm:DescribeInstanceInformation",
                "ssm:SendCommand",
                "ssm:GetCommandInvocation",
                "ssm:DescribeInstanceAssociationsStatus",
                "ssm:StartAutomationExecution"
            ],
            "Resource": "*"
            }
        ]
        }
```

 **说明** 

按照这些步骤对自动化进行配置：

1. [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootCloudWatchAgent/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootCloudWatchAgent/description)在 Systems Manager 的 “文档” 下导航至。

1. 选择 **Execute automation**（执行自动化）。

1. 对于输入参数，请输入以下内容：
   + **AutomationAssumeRole （可选）：**
     + 描述：（可选）允许 Systems Manager Automation 代表您执行操作的 IAM 角色的 ARN。如果未指定角色，Systems Manager Automation 将使用启动此运行手册的用户的权限。
     + 类型：`AWS::IAM::Role::Arn`
   + **InstanceId （必填）：**
     + 描述：（必填）您要对其进行亚马逊 CloudWatch 代理故障排除的 Amazon EC2 实例的 ID。
     + 类型：`AWS::EC2::Instance::Id`
     + 允许模式：`^i-[0-9a-f]{8,17}$`
   + **S3UploadBucket （可选）：**
     + 描述：（可选）用于上传收集的 Amazon A CloudWatch gent 日志的 Amazon S3 存储桶的名称。Amazon EC2 实例配置文件必须具有正确的权限才能将文件上传到此存储桶。这还要求目标 Amazon EC2 实例是 Systems Manager 托管实例。
     + 类型：`AWS::S3::Bucket::Name`
     + 允许模式：`^$|^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$`
     + 默认值：`""`
   + **S3BucketOwnerAccountId （可选）：**
     + 描述：（可选）拥有您要上传亚马逊 CloudWatch 代理日志的 Amazon S3 存储桶的 AWS 账号。如果您不修改此参数，则运行手册将使用运行自动化的用户或角色的 AWS 账户 ID。
     + 类型：`String`
     + 允许模式：`^\\{\\{ global:ACCOUNT_ID \\}\\}$|^[0-9]{12}$`
     + 默认值：`{{ global:ACCOUNT_ID }}`
   + **检查EC2终端节点（可选）：**
     + 描述：（可选）指定您的代理配置`true`是否使用选项`append_dimensions`将 Amazon EC2 指标维度附加到代理收集的指标中。使用`append_dimensions`时，Amazon A CloudWatch gent 需要连接到 Amazon EC2 API 终端节点，因此将通过扩展检查执行额外的连接测试。
     + 类型：`String`
     + 允许的值：`[true, false]`
     + 默认值：`false`
   + **RunVpcReachabilityAnalyzer （可选）：**
     + 描述：（可选）如果网络问题是由扩展检查确定的，或者指定的`true`实例 ID 不是托管实例，则指定运行`AWSSupport-AnalyzeAWSEndpointReachabilityFromEC2`子自动化。
     + 类型：`Boolean`
     + 默认值：`false`
   + **RetainVpcReachabilityAnalysis （可选）：**
     + 描述：（可选）仅在`RunVpcReachabilityAnalyzer`是时才相关`true`。指定`true`保留由 VPC Reachability Analyzer 创建的网络洞察路径和相关分析。默认情况下，这些资源将在成功分析后删除。
     + 类型：`Boolean`
     + 默认值：`false`

1. 选择**执行**。

1. 自动化启动。

1. 文档将执行以下步骤：
   + **getInstanceProfile**:

     验证所提供的 Amazon EC2 实例是否附加了 IAM 实例配置文件。
   + **branchOnInstanceProfileStatus**:

     如果实例配置文件已附加到实例，则分支自动化以检查必要的实例配置文件权限。
   + **verifyIamPermissions**:

     检查与该实例关联的实例配置文件，以确定是否应用了必要的 IAM 权限。
   + **getInstanceInformation**:

     检查实例是否有活动的 Systems Manager 代理，并获取该实例的操作系统类型。
   + **branchOnManaged实例**：

     分支自动化以执行扩展检查实例是否处于托管状态。
   + **getAgentStatus**:

     检查实例上的 Amazon CloudWatch 代理的状态。
   + **branchOnInstanceOsType**:

     根据操作系统将自动化分支为运行特定的日志 collection/analysis 命令。
   + **analyze analyzeLogsWindows** Logs/:

     根据操作系统类型分析并输出 Amazon A CloudWatch gent 日志的结果。
   + **收集日志/ collectLogsWindows**:

     根据操作系统类型捆绑并输出相关的 Amazon A CloudWatch gent 疑难解答文件。
   + **checkEndpointReachability/checkEndpointReachabilityWindows**：

     根据操作系统类型检查实例是否可以到达所需的终端节点。
   + **branchOnRunVpcReachabilityAnalyzer**:

     如果启用并检测到网络问题，则将自动化分支到运行 VPC 可访问性分析。
   + **生成端点**：

     根据扩展检查失败和的值生成要检查的端点`CheckEC2Endpoint`。
   + **analyzeAwsEndpointReachabilityFromEC2**:

     调用自动化运行手册`AWSSupport-AnalyzeAWSEndpointReachabilityFromEC2`，检查所选实例与所需端点的可访问性。
   + **输出结果**：

     输出自动化执行步骤的结果。

1. 完成后，请查看 “**输出**” 部分，了解执行的详细结果。

**参考**

Systems Manager Automation
+ [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootCloudWatchAgent/description)
+ [运行自动化](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [设置自动化](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [Support 自动化工作流程](https://aws.amazon.com/premiumsupport/technology/saw/)

# `AWSSupport-TroubleshootCloudWatchAlarm`
<a name="automation-awssupport-troubleshoot-cloudwatchalarm"></a>

 **描述** 

 该`AWSSupport-TroubleshootCloudWatchAlarm`运行手册有助于识别和解决配置错误或有问题的 Amazon CloudWatch (CloudWatch) 警报的问题。它利用公开 AWS APIs 和已知的警报评估逻辑来检测监控指标中延迟或丢失的数据点，这可能导致警报操作错过或延迟。本运行手册提供了一种结构化的方法来调查和解决 Amazon CloudWatch (CloudWatch) 警报相关的问题。

 **如何工作？** 

 运行手册`AWSSupport-TroubleshootCloudWatchAlarm`执行以下步骤：
+ 验证 Amazon CloudWatch (CloudWatch) 警报详情和`AlarmTriggerTimestamp`参数值，以检查其是否在 2,592,000 秒（30 天）以内。
+ 检查警报是基于指标还是公制数学，还是异常探测器警报。
+ 检查警报是否处于数据不足状态。
+ 检查警报中使用的指标是否与`ListMetrics`值匹配。
+ 验证指标在给定时间戳是否缺少数据点。
+ 获取给定时间戳的最新历史记录。
+ 检查警报是否由于延迟或错过指标而未触发。
+ 检查警报的启用操作是否已 was/were 送达。
+ 生成包含所有诊断结果的故障排除报告。

 [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootCloudWatchAlarm) 

**文档类型**

自动化

**所有者**

Amazon

**平台**

Linux、macOS、Windows

**参数**

**所需的 IAM 权限**

`AutomationAssumeRole` 参数需要执行以下操作才能成功使用运行手册。
+ `cloudwatch:DescribeAlarms`
+ `cloudwatch:DescribeAlarmHistory`
+ `cloudwatch:DescribeAnomalyDetectors`
+ `cloudwatch:GetMetricData`
+ `cloudwatch:GetMetricStatistics`
+ `cloudwatch:ListMetrics`

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "",
            "Effect": "Allow",
            "Action": [
                "cloudwatch:DescribeAlarms",
                "cloudwatch:DescribeAlarmHistory",
                "cloudwatch:DescribeAnomalyDetectors",
                "cloudwatch:GetMetricData",
                "cloudwatch:GetMetricStatistics",
                "cloudwatch:ListMetrics"
            ],
            "Resource": "*"
        }
    ]
}
```

------

 **说明** 

按照这些步骤对自动化进行配置：

1. [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootCloudWatchAlarm/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootCloudWatchAlarm/description)在 Systems Manager 的 “文档” 下导航至。

1. 选择 Execute automation（执行自动化）。

1. 对于输入参数，请输入以下内容：
   + **AutomationAssumeRole （可选）：**
     + 类型：`String`
     + 描述：（可选）允许 Systems Manager Automation 代表您执行操作 AWS AWS Identity and Access Management (IAM) 角色的 Amazon 资源名称（ARN）。如果未指定任何角色，Systems Manager Automation 将使用启动此运行手册的用户的权限。
   + **CloudWatchMetricAlarmName（必填）：**
     + 类型：`String`
     + 描述：（必填）要进行故障排除的 Amazon CloudWatch (CloudWatch) 指标警报的名称。
     + 允许的模式：`^[a-zA-Z0-9.:;,\\-_&() ]{1,255}$`
   + **AlarmTriggerTimestamp （必填）：**
     + 类型：`String`
     + 描述：（必填）警报问题发生时的 UTC 时间戳。这些信息对于解决问题和了解问题发生的背景至关重要。时间戳值应为从今天起的最近 30 天内的时间，格式`YYYY-MM-DDTHH:mm:ssZ`为。示例：`2024-10-29T09:04:00Z`
     + 允许的模式：`^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2})Z$`

1. 选择执行。

1. 自动化启动。

1. 文档将执行以下步骤：
   + **`VerifyRunbookInputs`**

     验证 Amazon CloudWatch (CloudWatch) 警报详情和`AlarmTriggerTimestamp`参数值，以检查其是否在 2,592,000 秒（30 天）以内。
   + **`UpdateSSMDocumentInputChecksVariable`**

     使用`VerifyRunbookInputs`步骤`SSMDocumentInputChecks`中的`SSMDocumentInputChecks`值更新变量。
   + **`BranchOnAlarmIsVerified`**

     分支于 Runbook 的输入验证`AlarmTriggerTimestamp`和`CloudWatchAlarmName`.
   + **`CheckMetricAlarmType`**

     检查警报是基于指标还是公制数学，还是异常探测器警报。
   + **`CheckAlarmInInsufficientDataState`**

     检查警报是否处于数据不足状态。
   + **`UpdateInsufficientDataChecksVariable`**

     使用`CheckAlarmInInsufficientDataState`步骤`InsufficientDataChecks`中的`InsufficientDataChecks`值更新变量。
   + **`BranchOnAlarmHasInsufficientData`**

     在 ste `CheckAlarmInInsufficientDataState` p 中的`AlarmHasInsufficientData`值上进行分支，默认步骤为`CheckMetricMismatch`。
   + **`CheckMetricMismatch`**

     检查警报中使用的指标是否与`ListMetrics`值匹配。
   + **`UpdateMetricMismatchChecksVariable`**

     使用`CheckMetricMismatch`步骤`MetricMismatchChecks`中的`MetricMismatchChecks`值更新变量。
   + **`BranchOnMetricsMatched`**

     在 ste `CheckMetricMismatch` p 中的`MetricsMatched`值上进行分支，默认步骤为`CheckMissingDatapoint`。
   + **`CheckMissingDatapoint`**

     验证指标在给定时间戳是否缺少数据点。
   + **`UpdateMetricMissingDatapointsChecksVariable`**

     使用`CheckMissingDatapoint`步骤`MetricMissingDatapointsChecks`中的`MetricMissingDatapointsChecks`值更新变量。
   + **`BranchOnMetricMissingDatapoint`**

     在 ste `CheckMissingDatapoint` p 中的`MetricMissingDatapoint`值上进行分支，默认步骤为`GetAlarmHistoryDetails`。
   + **`GetAlarmHistoryDetails`**

     获取给定时间戳的最新历史记录。
   + **`UpdateAlarmHistoryChecksVariable`**

     使用`GetAlarmHistoryDetails`步骤`AlarmHistoryChecks`中的`AlarmHistoryChecks`值更新变量。
   + **`BranchOnAlarmHistoryFound`**

     在 ste `GetAlarmHistoryDetails` p 中的`AlarmHistoryFound`值上进行分支，默认步骤为`CheckDelayedMetric`。
   + **`CheckDelayedMetric`**

     检查警报是否由于延迟或错过指标而未触发。
   + **`UpdateDelayedMetricChecksVariable`**

     使用`CheckDelayedMetric`步骤`DelayedMetricChecks`中的`DelayedMetricChecks`值更新变量。
   + **`BranchOnMetricDelayedAndDatapointsMeetThreshold`**

     分支位于`CheckDelayedMetric`步骤中的`MetricDelayed`和`DatapointsMeetThreshold`值，默认步骤为`GenerateReport`。
   + **`CheckActionDelivered`**

     检查警报的启用操作是否已 was/were 送达。
   + **`UpdateActionDeliveredChecksVariable`**

     使用`CheckActionDelivered`步骤`ActionDeliveredChecks`的输出`ActionDeliveredChecks`更新变量。
   + **`GenerateReport`**

     编译前面步骤的输出并输出报告。

1. 执行完成后，请查看 “输出” 部分，了解执行的详细结果：
   + **GenerateReport. 报告**

     有关所提供的 Amazon CloudWatch (CloudWatch) 指标警报的报告。

   ```
                   ------------------------------------------------------------------------------------------
                   |                     AWS CloudWatch Alarm Troubleshooting Results                       |
                   ------------------------------------------------------------------------------------------
                   |     Alarm Name                        -               Demo-Alarm                       |
                   |     Timestamp                         -               2025-03-04T06:31:00Z             |
                   ------------------------------------------------------------------------------------------
                   |     ✅ No Issue(s) Found                                                               |
                   ------------------------------------------------------------------------------------------
   
   
   
                   ==========================================================================================
                   1. Validating SSM Document input parameters:
                   ==========================================================================================
                   ✅ [PASSED]: Found a metric alarm with name Demo-Alarm
   
   
                   ==========================================================================================
                   2. Checking alarm's data state:
                   ==========================================================================================
                   ✅ [PASSED]: The alarm is not in INSUFFICIENT_DATA state, alarm's state is: ALARM
   
   
                   ==========================================================================================
                   3. Checking if the alarm experienced metric mismatches:
                   ==========================================================================================
                   ✅ [PASSED]: Metric matches with the configured metric for Alarm.
   
   
                   ==========================================================================================
                   4. Checking if the alarm's metric(s) experienced missing datapoint(s):
                   ==========================================================================================
                   ✅ [PASSED]: Metric has datapoints
   
   
                   ==========================================================================================
                   5. Retrieving alarm's history for timestamp 2025-03-04T06:31:00Z:
                   ==========================================================================================
                   ✅ [PASSED]: Found most recent alarm history item for the provided timestamp: '2025-03-04T06:31:00Z'
   
   
                   ==========================================================================================
                   6. Checking if the alarm experienced metric delays or the alarm's datapoint(s) did not meet the configured threshold:
                   ==========================================================================================
                   ✅ [PASSED]: CloudWatch alarm did not experience any delayed metric
   
   
                   ==========================================================================================
                   7. Checking if the alarm has actions enabled and if action(s) were delivered:
                   ==========================================================================================
                   ✅ [PASSED]: Successfully executed action arn:aws:sns:us-east-1:12345678910:Demo_Alarms_Topic
   
   
                   ------------------------------------------------------------------------------------------
   
                   ✅ All the checks have passed for CloudWatch alarm, Demo-Alarm, the alarm's configuration is correct.
   ```

 **参考** 

Systems Manager Automation
+ [运行此自动化（控制台）](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootCloudWatchAlarm/description)
+ [运行自动化](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [设置自动化](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [支持自动化工作流登录页面](https://aws.amazon.com/premiumsupport/technology/saw/)