【问题标题】:Prometheus filter query result using lables in resultPrometheus 使用结果中的标签过滤查询结果
【发布时间】:2020-06-10 16:05:23
【问题描述】:

我正在尝试构建一个 API,它可以根据我提供的输入获取输入并过滤数据。 假设我的输入是这样的,

{
 "node":"IPAddress:9100",
 "cpu":"0"
}

我的普罗米修斯查询是 (100 - 100*node_cpu_seconds_total{mode="idle"})/node_cpu_seconds_total 。 这给了我所有目标的 cpu 使用率。

我想过滤掉与目标相关的数据,我将其作为节点提供给我的包装器 API。那么是否有任何功能或方式可以让我始终对查询结果进行过滤并从 prometheus 获取数据。

例如,我想做类似的事情

((100 - 100*node_cpu_seconds_total{mode="idle"})/node_cpu_seconds_total){instance="IPAddress:9100"}

所以我只获得我的节点的 CPU 使用率。我知道我们可以输入实例详细信息,

node_cpu_seconds_total{mode="idle",instance="prometheus"}

但是对于不同的查询,我必须将我提供给我的 api 的过滤器放置在不同的位置,因此,如果有一种方法可以在我最后得到结果后进行过滤,这将满足我的要求。

有没有办法做到这一点?

【问题讨论】:

    标签: prometheus promql


    【解决方案1】:

    我想出了一种方法来使用 and 运算符。我的查询现在看起来像,

    ((100 - 100*node_cpu_seconds_total{mode="idle"})/node_cpu_seconds_total) and ({instance="localhost:9100"})
    

    这是用我最后给出的过滤器过滤掉我的数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-10-14
      • 1970-01-01
      • 1970-01-01
      • 2012-04-20
      • 2019-12-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多