如何管理使用 Auto Scaling 创建的实例的 AWS CloudWatch 每个实例警报?

如何管理使用 Auto Scaling 创建的实例的 AWS CloudWatch 每个实例警报?

我在 CloudWatch 上设置了每个实例的 CPUUtilization 警报,它似乎需要实例 ID。

  1. 如何在使用自动扩展创建的实例上添加每个实例警报?我不知道实例 ID,甚至不知道该实例已创建。

  2. 如果我在实例创建后为其创建警报,则当实例终止时,警报仍显示“数据不足”。

答案1

您可以通过 CloudWatch 事件规则调用 Lambda 函数来管理警报。

为以下自动扩展事件创建事件规则:

  • 运行实例
  • 终止实例

将您的 Lambda 函数注册为这些事件的目标,从事件数据中获取 InstanceId 并相应地创建或删除警报。

以下是 RunInstances 事件的示例事件规则描述。

{
"source": [
    "aws.ec2"
],
"detail-type": [
    "AWS API Call via CloudTrail"
],
"detail": {
    "eventSource": [
        "ec2.amazonaws.com"
    ],
    "eventName": [
        "RunInstances"
    ],
    "userAgent": [
        "autoscaling.amazonaws.com"
    ]
  }
}

也可以使用生命周期钩子,但 CloudWatch 事件更适合这种用例。

相关内容