AWS - 使用 CloudWatch 在 ec2 实例上触发脚本
AWS - Using CloudWatch to trigger script on ec2 instance
我发现了很多类似的问题,但 none 似乎是针对我的问题的:我有一个 python 删除旧日志文件的脚本。我有 Cloudwatch 来监控可用存储,是否可以在触发警报时触发该脚本(IE,运行 此命令:python mypythonscript.py)。
根据我的所有研究,这似乎是不可能的,除非我们开发了一个系统来解释 CloudWatch 和 SNS 发送的电子邮件,然后 运行 基于该解释的脚本。
目标是在发出警报时自我修复此问题,但从我们收集到的信息来看,CloudWatch 本身似乎不可能触发 EC2 实例上发生的任何事情。如果这是真的,我只是在寻找比我聪明的人的确认!
谢谢!
CloudWatch 本身不能 运行 您的 EC2 实例上的命令。但是,您可以将 CloudWatch 与其他一些 AWS 服务结合使用来实现您的目标。我建议完成此操作的方法如下:
- 创建一个 AWS EC2 Run Command 来执行您的 Python 脚本。
- 创建一个 AWS Lambda 函数,在调用时调用 运行 命令。
- 配置 Lambda 函数以使用 CloudWatch 警报SNS topic as a trigger。
或者您可以使用
用于执行 运行 命令的 CloudWatch Events:
https://docs.aws.amazon.com/systems-manager/latest/userguide/rc-cwe.html
扩展@Viviane 的回答:创建一个 EventBridge 事件。让它触发自定义事件模式以匹配您感兴趣的 CloudWatch 事件(这些事件会自动发布到 EventBridge)。这些链接对我有帮助:
我发现了很多类似的问题,但 none 似乎是针对我的问题的:我有一个 python 删除旧日志文件的脚本。我有 Cloudwatch 来监控可用存储,是否可以在触发警报时触发该脚本(IE,运行 此命令:python mypythonscript.py)。
根据我的所有研究,这似乎是不可能的,除非我们开发了一个系统来解释 CloudWatch 和 SNS 发送的电子邮件,然后 运行 基于该解释的脚本。
目标是在发出警报时自我修复此问题,但从我们收集到的信息来看,CloudWatch 本身似乎不可能触发 EC2 实例上发生的任何事情。如果这是真的,我只是在寻找比我聪明的人的确认!
谢谢!
CloudWatch 本身不能 运行 您的 EC2 实例上的命令。但是,您可以将 CloudWatch 与其他一些 AWS 服务结合使用来实现您的目标。我建议完成此操作的方法如下:
- 创建一个 AWS EC2 Run Command 来执行您的 Python 脚本。
- 创建一个 AWS Lambda 函数,在调用时调用 运行 命令。
- 配置 Lambda 函数以使用 CloudWatch 警报SNS topic as a trigger。
或者您可以使用
用于执行 运行 命令的 CloudWatch Events:
https://docs.aws.amazon.com/systems-manager/latest/userguide/rc-cwe.html
扩展@Viviane 的回答:创建一个 EventBridge 事件。让它触发自定义事件模式以匹配您感兴趣的 CloudWatch 事件(这些事件会自动发布到 EventBridge)。这些链接对我有帮助: