我有一个普罗米修斯节点,它从 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 数据。
我知道我可以通过单击图例在每个图表的基础上执行此操作,但我想一次完成所有这些操作。
这可能吗?
干杯
是的! 您可以在 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"
}
]
},