

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

# 加速配置文件：监控
<a name="acc-mem-config-doc-format"></a>

默认配置文件文档和自定义配置文件文档遵循相同的结构：

```
  {
    "<ResourceType>": {
        "<ConfigurationID>": {
            "Enabled": true,

            "Tag": {
                "Key": "...",
                "Value": "..."
            },
            "AlarmDefinition": {
                ...
            }
        },
        "<ConfigurationID>": {
            ...
        }
    },
    "<ResourceType>": {
        ...
    }
}
```
+ **ResourceType**: 此密钥必须是以下支持的字符串之一。此 JSON 对象中的配置将仅与指定的 AWS 资源类型相关。支持的资源类型：

  ```
  AWS::EC2::Instance
  AWS::EC2::Instance::Disk
  AWS::RDS::DBInstance
  AWS::RDS::DBCluster
  AWS::Elasticsearch::Domain
  AWS::OpenSearch::Domain
  AWS::Redshift::Cluster
  AWS::ElasticLoadBalancingV2::LoadBalancer
  AWS::ElasticLoadBalancingV2::LoadBalancer::TargetGroup
  AWS::ElasticLoadBalancing::LoadBalancer
  AWS::FSx::FileSystem::ONTAP
  AWS::FSx::FileSystem::ONTAP::Volume
  AWS::FSx::FileSystem::Windows
  AWS::EFS::FileSystem
  AWS::EC2::NatGateway
  AWS::EC2::VPNConnection
  ```
+ **ConfigurationID：此密钥在配置**文件中必须是唯一的，并且对以下配置块进行唯一命名。如果同一个区块中的两个配置**ResourceType**块具有相同的 C **onfigurationID，则配置**文件中最新显示的配置块将生效。如果您在自定义**配置文件中指定的 ConfigurationID** 与默认配置文件中指定的配置文件相同，则自定义配置文件中定义的配置块将生效。
  + **启用**：（可选，default=true）指定配置块是否会生效。将其设置为 false 可禁用配置块。禁用的配置块的行为就像配置文件中不存在一样。
  + **标签**：指定此警报定义适用的标签。任何具有此标签键和值的资源（相应资源类型）都将使用给定定义创建 CloudWatch 警报。此字段是一个 JSON 对象，包含以下字段：
    + **密钥**：要匹配的标签的密钥。请记住，如果您使用资源标记器将标签应用于资源，则标签的密钥将始终以 **ams: rt:** 开头。
    + **值**：要匹配的标签的值。
  + **AlarmDefinition**：定义要创建的警报。这是一个 JSON 对象，其字段按原样传递给 CloudWatch `PutMetricAlarm` API 调用（伪参数除外；有关更多信息，请参阅[加速配置文件：伪参数替换](acc-mem-config-doc-sub.md)）。有关哪些字段为必填字段的信息，请参阅[PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html)文档。

    或

    **CompositeAlarmDefinition**：定义要创建的复合警报。创建复合警报时，您需要为警报指定一个规则表达式，该表达式会考虑您创建的其他警报的警报状态。这是一个 JSON 对象，其字段按原样传递给。`CloudWatchPutCompositeAlarm`只有当规则的所有条件都得到满足时，复合告警才会进入“ALARM（告警）”状态。在复合告警的规则表达式中指定的告警可以包括指标告警和其他复合告警。有关哪些字段为必填字段的信息，请参阅[PutCompositeAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html)文档。

    这两个选项都提供以下字段：
    + **AlarmName**：指定要为资源创建的警报的名称。该字段的规则与[PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html)文档中指定的规则完全相同；但是，由于警报名称在一个区域中必须是唯一的，因此警报管理器还有一个额外的要求：您必须在警报名称中指定唯一标识符伪参数（否则，警报管理器会在警报名称的前面附加资源的唯一标识符）。例如，对于**AWS::EC2::Instance**资源类型，您必须在警报名称`${EC2::InstanceId}`中指定，或者将其隐式添加在警报名称的开头。有关标识符的列表，请参见[加速配置文件：伪参数替换](acc-mem-config-doc-sub.md)。

      所有其他字段均在[PutMetricAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutMetricAlarm.html)或[PutCompositeAlarm](https://docs.aws.amazon.com/AmazonCloudWatch/latest/APIReference/API_PutCompositeAlarm.html)文档中指定。
    + **AlarmRule**：指定要评估哪些其他警报以确定此复合警报的状态。对于您引用的每个警报，它们必须存在于您账户的 Alarm Manager 配置文件中 CloudWatch 或在其中指定。

**重要**  
您可以在 Alarm Manager 配置文档**CompositeAlarmDefinition**中指定其中一个**AlarmDefinition**或，但它们不能同时使用。

在以下示例中，当两个指定的指标警报超过其阈值时，系统会创建警报：

```
{
  "AWS::EC2::Instance": {
    "LinuxResourceAlarm": {
      "Enabled": true,
      "Tag": {
        "Key": "ams:rt:mylinuxinstance",
        "Value": "true"
      },
      "CompositeAlarmDefinition": {
        "AlarmName": "${EC2::InstanceId} Resource Usage High",
        "AlarmDescription": "Alarm when a linux EC2 instance is using too much CPU and too much Disk",
        "AlarmRule": "ALARM(\"${EC2::InstanceId}: Disk Usage Too High - ${EC2::Disk::UUID}\") AND ALARM(\"${EC2::InstanceId}: CPU Too High\")"
      }
    }
  }
}
```

**重要**  
当 Alarm Manager 由于配置中断而无法创建或删除警报时，它会将通知发送到 **Direct-Customer-Alerts SNS 主题**。此警报已被调用**AlarmDependencyError**。  
我们强烈建议您确认订阅此 SNS 主题。要接收发布到[主题的](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html)消息，您必须通过[终端节点订](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html#sns-endpoints)阅该主题。有关详细信息，请参阅[步骤 1：创建主题](https://docs.aws.amazon.com/sns/latest/dg/sns-getting-started.html#step-create-queue)。

**注意**  
创建异常检测警报后，警报管理器会自动为指定指标创建所需的异常检测模型。删除异常检测警报后，警报管理器不会删除关联的异常检测模型。  
[Amazon CloudWatch 限制了您在给定 AWS 区域中可以拥有的异常检测模型的数量](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch_limits.html)。如果您超过了型号配额，则警报管理器不会创建新的异常检测警报。您必须删除未使用的型号，或者与您的 AMS 合作伙伴合作申请提高限额。  
AMS Accelerate 提供的许多基准警报定义都将 SNS 主题 **MMS 主题**列为目标。这用于 AMS Accelerate 监控服务，也是将警报通知发送到 AMS Accelerate 的传输机制。请勿将 **MMS-Topic** 指定为除基准中提供的警报之外的任何警报的目标（以及该警报的替代项），因为该服务会忽略未知警报。这**不会**导致 AMS Accelerate 对您的自定义警报采取行动。