我有一个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数据。
我知道我可以通过单击图例在每个图表上执行此操作,但我想一次完成所有操作。
这可能吗?
干杯
答案 0 :(得分:3)
是的!您可以在grafana中使用标签值进行模板查询。文档在这里:http://docs.grafana.org/features/datasources/prometheus/#templated-queries
我们做类似的事情,在仪表板中选择一个命名空间来查看内存和放大器。该命名空间中的服务的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"
}
]
},