Grafana - 根据指标选择更新了仪表板上的所有图表

时间:2017-03-28 15:03:14

标签: jenkins grafana prometheus

我有一个prometheus节点,它从Jenkins收集作业数据并存储它,例如:

jenkins_job_last_completed_build_queuing_duration_seconds{jobname="j1"} 0.01
jenkins_job_last_completed_build_timestamp_seconds{jobname="j1"} 1489006588.334

在grafana中,我希望有一个仪表板,其中包含一系列不同指标的图表,以及选择在图表上显示哪个作业的方式。
例如 我登录仪表板并以某种方式选择j1,所有图表都显示j1的数据。 然后我将我的选择更改为j2,所有图表都更新为显示j2数据。

我知道我可以通过单击图例在每个图表上执行此操作,但我想一次完成所有操作。

这可能吗?

干杯

1 个答案:

答案 0 :(得分:3)

是的!您可以在grafana中使用标签值进行模板查询。文档在这里:http://docs.grafana.org/features/datasources/prometheus/#templated-queries

我们做类似的事情,在仪表板中选择一个命名空间来查看内存和放大器。该命名空间中的服务的CPU消耗。我们的仪表板如下所示:

enter image description here

查询看起来像:

namespace_name:container_cpu_usage_seconds_total:sum_rate{namespace=\"$namespace\"}

我不知道如何使用UI创建变量,我使用grafanalib项目(https://github.com/weaveworks/grafanalib)生成配置,它看起来像这样:

"templating": { "list": [ { "allValue": null, "current": { "tags": [], "text": "default", "value": "default" }, "datasource": "Scope-as-a-Service Prometheus", "hide": 0, "includeAll": false, "label": "Namespace", "multi": false, "name": "namespace", "options": [], "query": "label_values(k8s_pod_status_ready, namespace)", "refresh": 1, "regex": "", "sort": 1, "tagValuesQuery": null, "tagsQuery": null, "type": "query" } ] },