prometheus-总指标计数和prometheus_tsdb_head_series结果不同

时间:2019-03-12 03:06:41

标签: prometheus

count({__name__=~".+"})查询仅显示9,而prometheus_tsdb_head_series显示837个计数,您知道为什么会有这种不同吗?两种查询都不相似吗?

这是抓取配置:

scrape_configs:
  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus-1'

    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.

    static_configs:
    - targets: ['localhost:9090']
      labels:
        env: local
    metric_relabel_configs:
    - source_labels: [__name__]
      regex: (prometheus_tsdb_head_series)
      action: keep


  - job_name: 'node_exporter-1'
    static_configs:
    - targets: ['localhost:9100']
      labels:
        env: local
    metric_relabel_configs:
    - source_labels: [__name__]
      regex: (?i)(metric1|metric2|metric3)
      action: keep

2 个答案:

答案 0 :(得分:1)

prometheus_tsdb_head_series涵盖了最近1-3个小时内存在的每个系列,count({__name__=~".+"})涵盖了过去5分钟内没有过时的系列。

鉴于该配置,我猜想其他系列来自于您添加metric_relabel_configs之前。

答案 1 :(得分:0)

我发现了问题,在本地主机上运行了另一个prometheus进程:9090,具有上述配置的第二个prometheus进程正在清理此不同的prometheus实例,这就是在更正了scrape config中的端口后,这两个查询之间存在差异的原因,我可以看到两个查询都返回相同的结果。