使用 Prometheus 如何监控扩展的 Docker 服务,其中每个实例都提供自己的 /metrics?

Mar*_*ols 5 docker docker-compose prometheus

我有一个 Prometheus 设置来监控我自己的服务公开的指标。这适用于单个实例,但是一旦我开始缩放它们,Prometheus 就会完全困惑并开始跟踪不正确的值。

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

这是工作在scrape_configs

  - job_name: 'wowanalyzer'
    static_configs:
    - targets: ['prod:8000']
Run Code Online (Sandbox Code Playgroud)

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

Fra*_*aak 1

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

您需要创建一个运行 docker-gen 的 sidecart 容器来生成一组新的目标。

如果我没记错的话,生成的主机名是prod_1prod_2prod_X等。