使用Grafana模板获取Prometheus数据源

时间:2017-11-06 14:58:04

标签: grafana prometheus

Grafana 4.3.1,Prometheus 1.8.0

我们有3个Prometheus数据源代表不同的数据中心。我使用"混合"在普罗米修斯创建了一个仪表板。数据源选项,默认情况下允许跨数据中心查看。我想要包含一个"模板"它实质上提供了一个下拉列表,允许选择数据源1..3或ALL。反正有没有包括像" IF"如果将此下拉列表设置为特定值,则promql中的语句将隐藏某些面板指标?

Grafana重复行/面板 - 我意识到这是一个选项,但它会为所选的每个数据中心(数据源)引入新的面板和行。我试图找出是否可以保持面板静态并根据所选值更新内容。

目标 - 拥有一个仪表板,可以在所有数据源中查看,也可以通过简单选择下拉列表(模板)隔离为1。

2 个答案:

答案 0 :(得分:0)

我无法找到一个完美的解决方案,可以避免创建多个查询(Metrics)。我找到的解决方案是在底层promql中包含标签过滤器,为我们的数据中心添加一个新的自定义Grafana模板(下拉列表)。

旧方法有3个查询,每个查询指向不同的数据源:

avg(node_load1{pod="$pod",package="$package"})

新方式具有相同的三种,但新标签过滤器将删除指标,除非选择了目标数据中心或选择了"all"(Grafana "Include all option")。

avg(node_load1{pod="$pod",package="$package",location=~"($location|all)"})

这为仪表板增加了一些开销,但实现了仪表板的目标。

答案 1 :(得分:0)

而不是使用"查询"模板中的选项,您可以选择"数据源"这将为您提供下拉列表中的所有数据源。

但为此,您的数据源应该已经创建。

我有4个数据源,我使用了相同类型的模板。