【问题标题】:AWS Cloudwatch schedulingAWS Cloudwatch 调度
【发布时间】:2018-07-13 16:58:23
【问题描述】:

我目前有一个 lambda 函数,它可以停止我的 EC2 实例(4 个虚拟服务器),并使用 Cloudwatch 创建了一个时间表来启动这个 lambda 函数,以在周一至周五下午 6:30 停止我的服务器。这部分效果很好。

但是,如果我在例如下午 3 点在我的服务器上运行特定于应用程序的分析批处理,则运行分析的应用程序有时需要 4-5 小时才能完成,这意味着 CloudWatch 基本上会在 6 点停止服务器:下午 30 点,处于分析过程的中间。有没有办法构建一个异常来检查服务器上的 CPU 利用率是否大于 10%,以延迟 cloudwatch 事件?

我尝试在 CloudWatch 中创建一个警报事件,以在 CPU 利用率指标低于 10% 时关闭特定的 EC2 服务器,但如果没有使用,这基本上会在工作日将它们关闭,这不是我需要的。

最终,我希望能够编写一个脚本(lambda 函数)来检查周一至周五下午 6:30 的 CPU 利用率是否低于 10%,如果低于 10%,则停止服务器。如果没有,则每小时检查一次。在这一点上,我会喜欢任何和所有的建议。提前感谢您的帮助!

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-cloudwatch


    【解决方案1】:

    我相信你可以用AWS Step functions 来定义它 您可以创建一个工作流:

    • 每小时运行一次(请参阅documentation
    • 每小时检查一天中的时间和服务器上的 CPU 负载(使用 2 lambda function Tasks
    • 如果时间在下午 630 点到午夜之间,从周一到周五,请检查 CPU - see resultpath doc)
    • 如果 CPU 小于 10%,则关闭实例。否则什么都不做

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-01
      • 2021-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-02
      • 2018-04-26
      相关资源
      最近更新 更多