我已经使用Fargate创建了2个任务和一个ECS集群,它在2个不同的服务中使用这2个任务。简而言之,一个集群:2个服务,每个服务都链接到自己的任务,这些任务链接到ECR存储库。根据AWS ECS Fargate任务存储概念,每个任务都有10GB的Docker层存储,并有额外的4GB卷挂载。所以我想监控容器消耗的文件系统存储。我在想,如果有人能告诉我,我如何将另一个Docker Sidecar附加到一个任务,该任务将监视该任务创建的容器的存储消耗每个任务定义都没有任何挂载点。即使任务重新启动并创建新的示例,这也应该适用,但我不想在重新启动时持久化数据。
1条答案
按热度按时间6l7fqoea1#
我部署了侧车,它可以获取所需的自定义数据,并使用AWS CLI作为自定义指标推送到CloudWatch。
https://github.com/saiteja313/amazon-cloudwatch-eks-fargate-metrics/blob/master/cloudwatch-fargate-metrics/cw-put-pod-metrics.sh#L23
考虑到您的用例,您可以运行像
du -h ./ | grep [0-9]G
这样的命令作为脚本的一部分,并将值推送到CloudWatch,如果存储超过特定阈值(如7 GB),则创建警报。