我已阅读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)硬内存限制中断的通知?
答案 0 :(得分:1)
或者,您可以使用Cloudwatch指标上的SNS服务设置警报,以在内存利用率超出限制时通知您自己。
答案 1 :(得分:0)
假设
您可以从ECS内部编写自己的custom high resolution metric,其中每秒报告内存使用情况。