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

Grafana - Updated all graphs on dashboard from metric selection

我有一个 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 中,我希望有一个仪表板,其中包含针对不同指标的一堆图表,以及一些选择要在图表上显示的作业的方法。
例如 我以某种方式登录到仪表板和 select j1,所有图表都显示了 j1 的数据。 然后我将 selection 更改为 j2,所有图表都会更新以显示 j2 数据。

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

这可能吗?

干杯

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

我们在仪表板中执行类似于 select 命名空间的操作,以查看该命名空间中服务的内存和 CPU 消耗。我们的仪表板如下所示:

查询如下:

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" } ] },