我在 CloudWatch 上设置了每个实例的 CPUUtilization 警报,它似乎需要实例 ID。
如何在使用自动扩展创建的实例上添加每个实例警报?我不知道实例 ID,甚至不知道该实例已创建。
如果我在实例创建后为其创建警报,则当实例终止时,警报仍显示“数据不足”。
答案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 事件更适合这种用例。