使用度量值查询Prometheus标签值

时间:2020-01-29 10:26:04

标签: prometheus promql

是否有一种方法可以获取标签值作为普罗米修斯查询的值。 例如,我需要过滤掉CPU使用率超过80%的实例。我需要IP地址列表作为输出。 “值”列是否可能只是度量值。

预期输出:

Value
10.21.123.21
72.34.128.31

1 个答案:

答案 0 :(得分:0)

使用HTTP API

您可以通过以下命令获取CPU使用率超过80%的实例:

curl --silent --globoff --request GET "http://PROMETHEUS-SERVER/api/v1/query?query=100-100*avg%20by%20(instance)(irate(node_cpu_seconds_total{mode=\"idle\"}[5m]))>80" | jq --raw-output '.data.result[].metric.instance'

使用Grafana

如果您使用的是Grafana,则可以在“仪表板设置”>“变量”>“新建”中添加变量

查询选项:

Data source: Prometheus

Query: query_result(100 - 100 * avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) > 80)

Regex: /.*\"(.*)\".*/