AWS ECS是否可以提醒内存利用率限制?

时间:2018-04-18 13:43:22

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

我已阅读ECS Monitoring documentation,但未找到如何通过CloudWatch Events或Metrics帮助提醒 ECS任务内存限制。我有情况,当ECS容器破坏默认任务硬限制512 Mb并重新启动。 CloudWatch事件触发 ECS任务状态更改,例如从RUNNING到STOPPED,但是在事件详细信息"stoppedReason"中,您可能只发现"任务在..."中失败的ELB健康检查,尽管我确实知道实际原因是内存限制中断和容器谋杀来自Docker方面。这是事件规则模式:

{
  "source": [
    "aws.ecs"
  ],
  "detail-type": [
    "ECS Task State Change"
  ],
  "detail": {
    "lastStatus": [
      "STOPPED"
    ]
  }
}

MemoryUtilization维度的CloudWatch ServiceName指标也没有多大帮助,因为最短期限(范围)为1分钟触发警报,但容器kill-restart循环运行得更快。没有足够的时间赶上尖峰。我想这与ClusterName维度相关(换句话说,对整个集群而言)。

我想知道如何获取有关Task(Container,Container Instance)硬内存限制中断的通知?

2 个答案:

答案 0 :(得分:1)

或者,您可以使用Cloudwatch指标上的SNS服务设置警报,以在内存利用率超出限制时通知您自己。

答案 1 :(得分:0)

假设

  • 您的目标是确定重新启动的原因是内存使用而不是其他内容。
  • 内置内存指标不会以足够高的频率报告。

您可以从ECS内部编写自己的custom high resolution metric,其中每秒报告内存使用情况。