Prometheus 配置中 Docker 容器的动态服务发现

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

我有一个在 Docker 堆栈中运行的应用程序,它根据需求动态扩展其实例。该应用程序导出自己的指标,我希望 Prometheus 实时抓取这些指标,而无需在每次实例数量发生变化时手动更新其配置。

如何在 Prometheus 配置中实现 Docker 容器的动态服务发现?具体来说,我正在寻找一种方法来配置 Prometheus,使其自动发现和抓取 Docker 化应用程序的所有实例的指标,而无需手动干预。

我一直在尝试不同的方法来实现 Prometheus 中 Docker 容器的动态服务发现。我尝试使用 Prometheus Pushgateway,但不幸的是,它对于我的需求来说太不稳定,导致我丢失了一半以上的指标。我还研究了 Swarm 服务发现功能,但它似乎提供了服务级别的指标,而不是来自单个容器的指标。但是,我的要求是直接从容器收集指标。

prometheus docker-swarm
1个回答
0
投票

Prometheus 可以使用 dns rr 记录进行服务发现,docker swarm 使用

tasks.{service}

发布服务的 dns rr 记录

  - job_name: 'my-service'
    dns_sd_configs:
    - names:
      - 'tasks.my-service'
© www.soinside.com 2019 - 2024. All rights reserved.