Prometheus指标在ECS中抓取docker任务

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

我在ECS中有多个集群,每个集群都有多个服务,每个服务运行多个任务。每个任务在随机端口上公开具有不同值的/metrics。我想进行某种动态发现并废弃这些指标(每个任务都有不同的端口和不同的IP,因为它们在多个容器实例上运行),将来自同一服务的任务指标组合在一起并使用prometheus废弃它们。我该怎么办?

amazon-web-services docker prometheus amazon-ecs
1个回答
1
投票

我们遇到了同样的挑战,有两种方法:

  1. 根据正在运行的任务标记EC2实例,然后根据标签在Prometheus中查找EC2实例。当我们每个实例有一个任务时,这很有效,因为度量端口是已知的。有可能扩展它并支持多个任务。
  2. 每个EC2实例运行一个任务,该实例用作该实例上运行的所有任务的导出器。它询问ECS,发现任务和每个任务的监听端口并擦除所有任务。在Prometheus中,您可以在群集中找到所有EC2实例,并在每个实例中删除此导出器。显然,您需要根据读取的任务标记指标。

如果我不得不再做一次,我会考虑使用Consul注册任务并在普罗米修斯发现它们。如果你已经在使用领事,这个方向可能是一个很好的尝试。

希望这可以帮助。

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