10

假设我们在一个月内收集相同的指标,现在我们想要修改指标以具有额外的标签(在旧数据中也是如此),我们该怎么做。现有指标:

mongodb_exporter_last_scrape_duration_seconds{instance="127.0.0.1:9216",job="mongo"}

想将其更改为:

mongodb_exporter_last_scrape_duration_seconds{cluster="stage", instance="127.0.0.1:9216",job="mongo"}   
4

4 回答 4

13
- job_name: 'your_job'                 
  honor_labels: true                         
  static_configs:                     
  - targets:                          
    - '127.0.0.1'          
    labels:                           
      cluster: 'stage'
于 2017-12-29T11:25:02.337 回答
8

不幸的是,无法更改 Prometheus 中旧指标的标签。

存储仅由新的刮擦更新,然后它变得不可变。

于 2018-03-26T23:40:16.290 回答
0

如果您有服务发现配置,您还可以在 relabels_config 中添加标签

relabel_configs:
  - target_label: cluster
    replacement: stage
于 2021-08-12T01:23:11.247 回答
0

https://prometheus.io/docs/prometheus/latest/querying/functions/#label_replace https://medium.com/@texasdave2/replace-and-remove-a-label-in-a-prometheus-query-9500faa302f0

其实 label_replace 方法只是给metrics添加一个新标签,而不是replace。因此,如果您不想更改 prometheus.yml 配置,我可以使用此方法添加新标签。

对于您的情况:

mongodb_exporter_last_scrape_duration_seconds{instance="127.0.0.1:9216",job="mongo"}

label_replace(mongodb_exporter_last_scrape_duration_seconds{instance="127.0.0.1:9216",job="mongo"}, "cluster", "stage", "(.*)")

于 2021-09-23T06:51:38.810 回答