【问题标题】:How to trigger a script when CloudWatch alarm is triggered触发 CloudWatch 警报时如何触发脚本
【发布时间】:2020-06-18 03:42:12
【问题描述】:
根据 CloudWatch 日志,我使用 Metric Filter 创建了一个指标。
根据这个指标,我创建了一个警报。当通过警报计数超过 3 时触发警报。现在,如果触发警报,我想运行一个脚本。
我将如何触发脚本我将使用什么 AWS 服务?
另一个用例:我需要阅读触发警报的日志,以便脚本可以获取更多信息并根据提供的信息采取行动。
【问题讨论】:
标签:
amazon-web-services
amazon-cloudwatch
【解决方案1】:
当触发 Amazon CloudWatch 警报时,它可以:
- 向 Amazon SNS 主题发送消息
- 启动/停止/终止/重启 Amazon EC2 实例
- 自动扩展 EC2/ECS
因此,要在警报激活时触发脚本,您需要:
- 创建 Amazon SNS 主题
- 创建一个 AWS Lambda 函数来运行您的脚本
-
订阅 Lambda 函数到 SNS 主题
- 将警报配置为在进入
ALARM 状态时向SNS 主题发送消息
但是,警报与 CloudWatch Logs 中生成指标的数据之间没有直接关系。因此,无法提供有关为什么触发警报的信息。它只是一段时间内累积的指标。
虽然 Lambda 函数可以从 CloudWatch 日志中读取数据,但要识别导致触发警报的特定行并不容易。