首页 文章

使用Grafana模板获取Prometheus数据源

提问于
浏览
0

Grafana 4.3.1,Prometheus 1.8.0

我们有3个Prometheus数据源代表不同的数据中心 . 我在Prometheus中使用“混合”数据源选项创建了一个仪表板,默认情况下允许跨数据中心查看 . 我想包含一个“模板”,它实质上提供了一个下拉列表,允许选择数据源1..3或ALL . 无论如何在promql中包含类似“IF”语句的内容,如果将此下拉列表设置为某些值,它将基本上隐藏某些面板指标?

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

目标 - 有一个仪表板,可以在所有数据源中查看,也可以通过简单的下拉选项(模板)隔离到1 .

2 回答

  • 0

    您可以使用“数据源”代替在模板中使用“查询”选项,它将为您提供下拉列表中的所有数据源 .

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

    我有4个数据源,我使用相同的模板 .

  • 0

    我无法找到一个完美的解决方案,可以避免创建多个查询(度量标准) . 我找到的解决方案是在底层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)"})
    

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

相关问题