使用指标值查询普罗米修斯标签值
Querying prometheus label values with metric values
有没有办法将标签值作为普罗米修斯查询的值。
例如,我需要过滤掉使用率超过 80% CPU 的实例。我需要 IP 地址列表作为输出。值列是否可能或将仅是指标值。
预期输出:
Value
10.21.123.21
72.34.128.31
使用 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,则可以在 "Dashboard settings" > "Variables" > "New"
添加一个变量
查询选项:
Data source: Prometheus
Query: query_result(100 - 100 * avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) > 80)
Regex: /.*\"(.*)\".*/
有没有办法将标签值作为普罗米修斯查询的值。 例如,我需要过滤掉使用率超过 80% CPU 的实例。我需要 IP 地址列表作为输出。值列是否可能或将仅是指标值。
预期输出:
Value
10.21.123.21
72.34.128.31
使用 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,则可以在 "Dashboard settings" > "Variables" > "New"
添加一个变量查询选项:
Data source: Prometheus
Query: query_result(100 - 100 * avg by (instance) (irate(node_cpu_seconds_total{mode="idle"}[5m])) > 80)
Regex: /.*\"(.*)\".*/