我已阅读 ECS Monitoring documentation ,但没有找到如何在 上发出警报ECS 任务内存限制 使用 CloudWatch Events 或 Metrics 帮助。我遇到了情况,当 ECS 容器打破默认任务硬限制 512 Mb 并重新启动时。 CloudWatch 事件 触发到 ECS 任务状态更改 ,例如从 RUNNING 到 STOPPED,但在事件详细信息中 "stoppedReason"
您可能只会发现“任务失败的 ELB 健康检查……”,尽管我绝对知道真正的原因是 Docker 方面的内存限制突破和容器谋杀。这是事件规则模式:
{
"source": [
"aws.ecs"
],
"detail-type": [
"ECS Task State Change"
],
"detail": {
"lastStatus": [
"STOPPED"
]
}
}
云观察
MemoryUtilization
公制 为 ServiceName
维度也没有多大帮助,因为 最短周期(范围)为 1 分钟 触发警报,但容器终止重启周期运行得更快。捕获尖峰的时间还不够。我想这同样适用于 ClusterName
维度(换句话说,对于整个集群)。我想知道如何获得有关任务(容器、容器实例)硬内存限制突破的通知?
最佳答案
或者,您可以在 cloudwatch 指标上使用 SNS 服务设置警报,以在内存利用率超过限制时通知自己。
关于amazon-web-services - AWS ECS 是否可以在达到内存利用率限制时发出警报?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49901326/