我有一个Prometheus设置,可以监视我自己的服务公开的指标。对于单个实例来说,这很好用,但是一旦我开始扩展它们,Prometheus就会完全困惑并开始跟踪错误的值。
所有服务都通过docker-compose在单个节点上运行。
这是scrape_configs
中的工作:
- job_name: 'wowanalyzer'
static_configs:
- targets: ['prod:8000']
prod
的每个实例都会跟踪其内存中的指标并将其提供给/metrics
。我猜测Prometheus每次报废都会选择一个随机的容器,这会导致记录的计数大量增加,并随着时间的推移而增加。相反,我希望Prometheus同时在所有实例上读取/metrics
,而不管当时处于活动状态的实例数量如何。
答案 0 :(得分:1)
我已经做了很多尝试,以找到可以帮助我们解决此问题的方法,但是这似乎尚未解决。
因此,我决定创建此工具来帮助我们进行服务发现。
https://github.com/juliofalbo/docker-compose-prometheus-service-discovery
随时可以贡献和解决问题!
答案 1 :(得分:1)
docker-gen(https://github.com/jwilder/docker-gen)是为此目的而开发的。
您需要创建一个运行docker-gen的小车容器,该容器会生成一组新的目标。
如果我记得很清楚,生成的主机名是prod_1
,prod_2
,prod_X
等。