

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

# 使用 Amazon 监控应用程序 Auto Scaling 事件 EventBridge
Amazon EventBridge

Amazon EventBridge（以前称为 CloudWatch 事件）可帮助您监控特定于 Application Auto Scaling 的事件，并启动使用其他事件的目标操作 Amazon Web Services 服务。来自 Amazon Web Services 服务 的事件以近乎实时 EventBridge 的方式传送到。

使用 EventBridge，您可以创建匹配传入*事件*的*规则*，并将它们路由到*目标*进行处理。

有关更多信息，请参阅《[亚马逊* EventBridge 用户指南》 EventBridge中的 “亚马逊*入门](https://docs.amazonaws.cn/eventbridge/latest/userguide/eb-get-started.html)”。

## Application Auto Scaling 事件


以下是 Application Auto Scaling 的示例事件。事件会尽可能生成。

Application Auto Scaling 目前只有特定于缩放到最大值的事件和 API 调用通过 CloudTrail 的事件才可用。

**Topics**
+ [

### 状态更改的事件：扩展到最大容量
](#event-example-1)
+ [

### 通过以下方式进行的 API 调用事件 CloudTrail
](#event-example-2)

### 状态更改的事件：扩展到最大容量


以下示例事件显示 Application Auto Scaling 将可扩展目标的容量增加（横向扩展）至其最大容量限制。如果需求再次增加，Application Auto Scaling 将无法进一步扩展目标，因为它已经扩展到其最大容量。

在 `detail` 对象中，`resourceId`、`serviceNamespace` 和 `scalableDimension` 属性的值用来标识可扩展目标。`newDesiredCapacity` 和 `oldDesiredCapacity` 属性的值用于指横向扩展事件完成后的新容量和横向扩展事件开始前的原始容量。`maxCapacity` 是可伸缩目标的最大容量限制。

```
{
  "version": "0",
  "id": "11112222-3333-4444-5555-666677778888",
  "detail-type": "Application Auto Scaling Scaling Activity State Change",
  "source": "aws.application-autoscaling",
  "account": "123456789012",
  "time": "2019-06-12T10:23:40Z",
  "region": "us-west-2",
  "resources": [],
  "detail": {
    "startTime": "2022-06-12T10:20:43Z",
    "endTime": "2022-06-12T10:23:40Z",
    "newDesiredCapacity": 8,
    "oldDesiredCapacity": 5,
    "minCapacity": 2,
    "maxCapacity": 8,
    "resourceId": "table/my-table",
    "scalableDimension": "dynamodb:table:WriteCapacityUnits",
    "serviceNamespace": "dynamodb",
    "statusCode": "Successful",
    "scaledToMax": true,
    "direction": "scale-out"
}
```

要创建捕获所有可扩展目标的所有 `scaledToMax` 状态更改事件的规则，请使用以下示例事件模式。

```
{
  "source": [
    "aws.application-autoscaling"
  ],
  "detail-type": [
    "Application Auto Scaling Scaling Activity State Change"
  ],
  "detail": {
    "scaledToMax": [
      true 
    ]
  } 
}
```

### 通过以下方式进行的 API 调用事件 CloudTrail


*跟踪*是一种 Amazon CloudTrail 用于将事件作为日志文件传输到 Amazon S3 存储桶的配置。 CloudTrail 日志文件包含日志条目。一个事件代表一个日志条目，包括有关所请求操作的信息、操作的日期和时间以及请求参数。要了解如何开始使用 CloudTrail，请参阅*Amazon CloudTrail 用户指南*中的[创建跟踪](https://docs.amazonaws.cn/awscloudtrail/latest/userguide/cloudtrail-create-a-trail-using-the-console-first-time.html)。

通过传递的事件 CloudTrail `AWS API Call via CloudTrail`具有的价值`detail-type`。

以下示例事件表示一个 CloudTrail 日志文件条目，该条目显示控制台用户调用了 Application Auto Scaling [RegisterScalableTarget](https://docs.amazonaws.cn/autoscaling/application/APIReference/API_RegisterScalableTarget.html)操作。

```
{
  "version": "0",
  "id": "99998888-7777-6666-5555-444433332222",
  "detail-type": "AWS API Call via CloudTrail",
  "source": "aws.autoscaling",
  "account": "123456789012",
  "time": "2022-07-13T16:50:15Z",
  "region": "us-west-2",
  "resources": [],
  "detail": {
    "eventVersion": "1.08",
    "userIdentity": {
      "type": "IAMUser",
      "principalId": "123456789012",
      "arn": "arn:aws:iam::123456789012:user/Bob",
      "accountId": "123456789012",
      "accessKeyId": "AKIAIOSFODNN7EXAMPLE",
      "sessionContext": {
        "sessionIssuer": {
          "type": "Role",
          "principalId": "123456789012",
          "arn": "arn:aws:iam::123456789012:role/Admin",
          "accountId": "123456789012",
          "userName": "Admin"
        },
        "webIdFederationData": {},
        "attributes": {
          "creationDate": "2022-07-13T15:17:08Z",
          "mfaAuthenticated": "false"
        }
      }
    },
    "eventTime": "2022-07-13T16:50:15Z",
    "eventSource": "autoscaling.amazonaws.com",
    "eventName": "RegisterScalableTarget",
    "awsRegion": "us-west-2",
    "sourceIPAddress": "AWS Internal",
    "userAgent": "EC2 Spot Console",
    "requestParameters": {
      "resourceId": "spot-fleet-request/sfr-73fbd2ce-aa30-494c-8788-1cee4EXAMPLE",
      "serviceNamespace": "ec2",
      "scalableDimension": "ec2:spot-fleet-request:TargetCapacity",
      "minCapacity": 2,
      "maxCapacity": 10
    },
    "responseElements": null,
    "additionalEventData": {
      "service": "application-autoscaling"
    },
    "requestID": "e9caf887-8d88-11e5-a331-3332aa445952",
    "eventID": "49d14f36-6450-44a5-a501-b0fdcdfaeb98",
    "readOnly": false,
    "eventType": "AwsApiCall",
    "managementEvent": true,
    "recipientAccountId": "123456789012",
    "eventCategory": "Management",
    "sessionCredentialFromConsole": "true"
  }
}
```

要基于所有可扩展目标的全部[DeleteScalingPolicy](https://docs.amazonaws.cn/autoscaling/application/APIReference/API_DeleteScalingPolicy.html)和 [DeregisterScalableTarget](https://docs.amazonaws.cn/autoscaling/application/APIReference/API_DeregisterScalableTarget.html)API 调用创建规则，请使用以下示例事件模式：

```
{
  "source": [
    "aws.autoscaling"
  ],
  "detail-type": [
    "AWS API Call via CloudTrail"
  ],
  "detail": {
    "eventSource": [
      "autoscaling.amazonaws.com"
    ],
    "eventName": [
       "DeleteScalingPolicy", 
       "DeregisterScalableTarget"
    ],
    "additionalEventData": {
      "service": [
        "application-autoscaling"
      ]
    }
  } 
}
```

有关使用的更多信息 CloudTrail，请参阅[使用记录应用程序 Auto Scaling API 调用 Amazon CloudTrail](logging-using-cloudtrail.md)。