Prometheus Yaml文件中的变量替换

时间:2019-07-11 21:52:05

标签: kubernetes yaml prometheus

我正在使用具有给定配置的Thanos部署Prometheus:

global:
  scrape_interval: 15s  # By default, scrape targets every 15 seconds.

 # Attach these labels to any time series or alerts when communicating with
 # external systems (federation, remote storage, Alertmanager).
 external_labels:
   monitor: %%CLUSTER%%
   replica: $(HOSTNAME)

我从Thanos示例文档中获得了此信息,但无法完成这项工作。 “ %% CLUSTER %%给出“无法从给定令牌开始”错误,而HOSTNAME替换从未发生。

我读到这个问题,不支持变量替换,但Thanos文档则相反。 https://github.com/prometheus/prometheus/issues/2357

还有其他方法可以实现吗?

2 个答案:

答案 0 :(得分:0)

更新:

看起来像Thanos就是开箱即用的。 我们必须配置Thanos来监视具有此模板变量的配置文件,并将输出生成到目录中。然后Prometheus选择该文件作为其配置文件。该文件将已经有Thanos sidecar的“替换值”。

答案 1 :(得分:0)

在 Prometheus 2.27 之后有一种标准的方法可以做到这一点。

disabled_features

--enable-feature=expand-external-labels

根据当前环境变量的值替换external_labels值中的${var}或$var。对未定义变量的引用被替换为空字符串。

还有这个reply by roidelaplui