Prometheus:如何用正则表达式替换Consul服务器端口?

Fuz*_*Ami 4 consul prometheus

当Prometheus使用Consul的自动发现功能获取要监控的目标列表时,它也会自动获得Consul服务器.这很棒 - 我们希望用普罗米修斯来监控这些人.问题是Consul使用端口8300报告这些节点,这不是我们用来监视目标的端口.

如何将从Consul收到的端口替换为其他东西?我知道这可以通过Prometheus relabel_configs实现,但我还没有成功配置它.

Fuz*_*Ami 9

我终于搞清楚了.下面是一个工作实例.正如文档所指定的那样,address关键字可能不适用于所有设置 - 您可能想要尝试"<__ meta_consul_address>:<__ meta_consul_service_port>".

   - source_labels: ['__address__']
     separator:     ':'
     regex:         '(.*):(8300)'
     target_label:  '__address__'
     replacement:   '${1}:9126'
Run Code Online (Sandbox Code Playgroud)