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



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

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

相关内容

最新更新