Amazon web services AWS-使用CloudWatch在ec2实例上触发脚本

Amazon web services AWS-使用CloudWatch在ec2实例上触发脚本,amazon-web-services,amazon-ec2,aws-lambda,amazon-cloudwatch,Amazon Web Services,Amazon Ec2,Aws Lambda,Amazon Cloudwatch,我发现了很多类似的问题,但没有一个是针对我这里的问题的:我有一个删除旧日志文件的python脚本。我有Cloudwatch来监视可用的存储,是否可以在触发警报时触发该脚本(即,运行这个命令:python mypythonscript.py) 从我所有的研究来看,这似乎是不可能的,除非我们开发了一个解释CloudWatch和SNS发送的电子邮件的系统,然后根据这种解释运行一个脚本 我们的目标是在警报出现时自我修复这个问题,但从我们收集的信息来看,CloudWatch本身似乎不可能触发EC2实例上发

我发现了很多类似的问题,但没有一个是针对我这里的问题的:我有一个删除旧日志文件的python脚本。我有Cloudwatch来监视可用的存储,是否可以在触发警报时触发该脚本(即,运行这个命令:python mypythonscript.py)

从我所有的研究来看,这似乎是不可能的,除非我们开发了一个解释CloudWatch和SNS发送的电子邮件的系统,然后根据这种解释运行一个脚本

我们的目标是在警报出现时自我修复这个问题,但从我们收集的信息来看,CloudWatch本身似乎不可能触发EC2实例上发生的任何事情。如果这是真的,我只是在寻找比我聪明的人的确认


谢谢

CloudWatch本身无法在EC2实例上运行命令。不过,您可以将CloudWatch与其他一些AWS服务结合起来以实现您的目标。我建议实现这一目标的方法如下:

  • 创建一个执行Python脚本的脚本
  • 创建一个调用Run命令时调用的函数
  • 配置Lambda函数以使用CloudWatch警报
    • 或者您可以使用

      执行运行命令的CloudWatch事件:


      来扩展@Viviane的答案:创建一个EventBridge事件。让它触发自定义事件模式,以匹配您感兴趣的CloudWatch事件(这些事件自动发布到EventBridge)。这些链接帮助我:


      谢谢你的这个标记!这有助于澄清我们可以做些什么来为我们的平台创建一个自我修复的监控系统。我感谢你的帮助!