Amazon web services AWS ECS是否可以在内存使用限制命中时发出警报?
我已经阅读了,但没有找到如何使用CloudWatch事件或度量帮助对ECS任务内存限制发出警报。我有一种情况,当ECS容器打破默认任务硬限制512MB并重新启动时CloudWatch事件触发ECS任务状态更改,例如从运行到停止,但在事件详细信息中,Amazon web services AWS ECS是否可以在内存使用限制命中时发出警报?,amazon-web-services,amazon-cloudwatch,amazon-ecs,aws-ecs,Amazon Web Services,Amazon Cloudwatch,Amazon Ecs,Aws Ecs,我已经阅读了,但没有找到如何使用CloudWatch事件或度量帮助对ECS任务内存限制发出警报。我有一种情况,当ECS容器打破默认任务硬限制512MB并重新启动时CloudWatch事件触发ECS任务状态更改,例如从运行到停止,但在事件详细信息中,“stoppedReason”您可能只会发现“任务未通过ELB健康检查…”,尽管我明确知道实际原因是内存限制中断和Docker端的容器谋杀。以下是事件规则模式: { "source": [ "aws.ecs" ], "detail-
“stoppedReason”
您可能只会发现“任务未通过ELB健康检查…”,尽管我明确知道实际原因是内存限制中断和Docker端的容器谋杀。以下是事件规则模式:
{
"source": [
"aws.ecs"
],
"detail-type": [
"ECS Task State Change"
],
"detail": {
"lastStatus": [
"STOPPED"
]
}
}
CloudWatchMemoryUtilization
Metric对于ServiceName
维度也没有多大帮助,因为触发警报的最短时间(范围)是1分钟,但容器终止重启周期运行得更快。没有足够的时间接住扣球。我猜这与ClusterName
维度(换句话说,是整个集群)相关
我想知道如何获得关于任务(容器、容器实例)硬内存限制中断的通知?
- 您的目标是确定重新启动的原因是内存使用,而不是其他原因
- 内置内存度量的报告频率不够高
您只需在ECS中编写自己的,它会报告内存使用情况,比如每一秒钟一次。或者,您可以使用cloudwatch metrics上的SNS服务设置警报,在内存使用超过限制时通知自己 当您为ecs服务创建自动缩放时,选择内存利用率作为thresh hold,ecs将为其创建云监视警报,然后转到云监视警报仪表板并使用SNS通知修改该警报。当内存利用率变高或变低时,您将收到通知
- 您也可以在cloudwatch dashboard中手动创建相同的报警李>