其他分享
首页 > 其他分享> > grafana 创建带联动效果的选单

grafana 创建带联动效果的选单

作者:互联网

本文主要介绍 grafana 连接 prometheus 创建监控看板,并可以通过建立有联动关系的下拉选单来过滤指标

查询变量

当 grafana 接入 prometheus 的时候,可以通过如下 function 来将查询结果转换为 grafana 看板的变量以供过滤:

Name Description Used API endpoints
label_names() Returns a list of label names. /api/v1/labels
label_values(label) Returns a list of label values for the label in every metric. /api/v1/label/label/values
label_values(metric, label) Returns a list of label values for the label in the specified metric. /api/v1/series
metrics(metric) Returns a list of metrics matching the specified metric regex. /api/v1/label/name/values
query_result(query) Returns a list of Prometheus query result for the query. /api/v1/query

假设现在 prometheus 有如下指标,希望 path 选单的值依赖于 instance 选单的值:

metrics
traefik_seconds_bucket{instance="service-a", path="/path-x"}
traefik_seconds_bucket{instance="service-a", path="/path-y"}
traefik_seconds_bucket{instance="service-b", path="/path-x"}
traefik_seconds_bucket{instance="service-b", path="/path-z"}

则可以先建立 instance 变量:

label_values(traefik_seconds_bucket,instance)

然后建立 path 变量,通过 reference variable,根据已经选择的 instance 的值来筛选 path 的值:

label_values(traefik_seconds_bucket{instance="${instance}"}, path)

完成如上两个变量的设置之后,回到看板,就可以让 path 选单的值根据 instance 选单选择的不同值,呈现不同的选项。

参考

标签:seconds,选单,label,instance,values,联动,path,grafana
来源: https://www.cnblogs.com/windchen/p/grafana-related-selector.html