使用Prometheus,如何监视每个实例服务于自己的/ metrics的扩展Docker服务?

时间:2018-11-14 21:24:55

标签: docker docker-compose prometheus

我有一个Prometheus设置,可以监视我自己的服务公开的指标。对于单个实例来说,这很好用,但是一旦我开始扩展它们,Prometheus就会完全困惑并开始跟踪错误的值。

所有服务都通过docker-compose在单个节点上运行。

这是scrape_configs中的工作:

  - job_name: 'wowanalyzer'
    static_configs:
    - targets: ['prod:8000']

prod的每个实例都会跟踪其内存中的指标并将其提供给/metrics。我猜测Prometheus每次报废都会选择一个随机的容器,这会导致记录的计数大量增加,并随着时间的推移而增加。相反,我希望Prometheus同时在所有实例上读取/metrics,而不管当时处于活动状态的实例数量如何。

2 个答案:

答案 0 :(得分:1)

我已经做了很多尝试,以找到可以帮助我们解决此问题的方法,但是这似乎尚未解决。

因此,我决定创建此工具来帮助我们进行服务发现。

https://github.com/juliofalbo/docker-compose-prometheus-service-discovery

随时可以贡献和解决问题!

答案 1 :(得分:1)

docker-gen(https://github.com/jwilder/docker-gen)是为此目的而开发的。

您需要创建一个运行docker-gen的小车容器,该容器会生成一组新的目标。

如果我记得很清楚,生成的主机名是prod_1prod_2prod_X等。