如何使用fargate监控ecs集群的磁盘空间/文件系统使用情况

问题描述 投票:0回答:1

我使用 Fargate 创建了 2 个任务,并创建了一个 ECS 集群,该集群在 2 个不同的服务中使用这 2 个任务。简而言之,一个集群:2 个服务,每个服务都链接到自己的任务,这些任务链接到 ECR 存储库。根据 AWS ECS Fargate 任务存储概念,每个任务都有 10GB 的 docker 层存储以及额外的 4GB 卷挂载。所以我想监控容器消耗的文件系统存储。我在想是否有人可以指出我如何将另一个 docker sidecar 附加到一个任务,该任务将监视该任务创建的容器的存储消耗并将其发送到云监视?每个任务定义没有任何挂载点。即使任务重新启动并创建新实例,这也应该适用,但我不想保留数据,即使它重新启动也是如此。

docker storage amazon-ecs aws-fargate
1个回答
0
投票

我部署了 side car,它可以获取所需的自定义数据并使用 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),则创建警报。

© www.soinside.com 2019 - 2024. All rights reserved.