【发布时间】: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