Prometheus:如何从多个数据中心获取Consul节点

Fuz*_*Ami 1 consul prometheus

我想使用Prometheus的Consul集成来自动发现我所有的领事节点。目前,我的Prometheus服务器仅从Consul中的单个数据中心接收节点,尽管我从未实际指定配置中要使用的数据中心(我猜它只是选择了我的consul-client(安装在我的prometheus服务器上)的一部分)的)。

如何从领事知道的所有数据中心获取所有节点?

Fuz*_*Ami 5

我们发现的解决方案是在配置中使用'datacenter'关键字-并明确列出我们拥有的数据中心。它不是最佳选择(因为将来可能会添加/删除数据中心),但它确实可以工作。下面是一个示例:

scrape_configs:
  - job_name: 'consul'
    consul_sd_configs:
       - server:   '0.0.0.0:8500'
         datacenter: 'datacenter-name-1'
       - server:   '0.0.0.0:8500'
         datacenter: 'datacenter-name-2'
       - server:   '0.0.0.0:8500'
         datacenter: 'datacenter-name-3'
Run Code Online (Sandbox Code Playgroud)