Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services AWS ECS是否可以在内存使用限制命中时发出警报?_Amazon Web Services_Amazon Cloudwatch_Amazon Ecs_Aws Ecs - Fatal编程技术网

Amazon web services AWS 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-

我已经阅读了,但没有找到如何使用CloudWatch事件或度量帮助对ECS任务内存限制发出警报。我有一种情况,当ECS容器打破默认任务硬限制512MB并重新启动时CloudWatch事件触发ECS任务状态更改,例如从运行到停止,但在事件详细信息中,
“stoppedReason”
您可能只会发现“任务未通过ELB健康检查…”,尽管我明确知道实际原因是内存限制中断和Docker端的容器谋杀。以下是事件规则模式:

{
  "source": [
    "aws.ecs"
  ],
  "detail-type": [
    "ECS Task State Change"
  ],
  "detail": {
    "lastStatus": [
      "STOPPED"
    ]
  }
}
CloudWatch
MemoryUtilization
Metric
对于
ServiceName
维度也没有多大帮助,因为触发警报的最短时间(范围)是1分钟,但容器终止重启周期运行得更快。没有足够的时间接住扣球。我猜这与
ClusterName
维度(换句话说,是整个集群)相关

我想知道如何获得关于任务(容器、容器实例)硬内存限制中断的通知?

  • 您的目标是确定重新启动的原因是内存使用,而不是其他原因
  • 内置内存度量的报告频率不够高

您只需在ECS中编写自己的,它会报告内存使用情况,比如每一秒钟一次。

或者,您可以使用cloudwatch metrics上的SNS服务设置警报,在内存使用超过限制时通知自己

当您为ecs服务创建自动缩放时,选择内存利用率作为thresh hold,ecs将为其创建云监视警报,然后转到云监视警报仪表板并使用SNS通知修改该警报。当内存利用率变高或变低时,您将收到通知

  • 您也可以在cloudwatch dashboard中手动创建相同的报警