首页 文章

普罗米修斯和格拉法纳:模板和“布尔”修饰符

提问于
浏览
1

我正在使用Prometheus(1.1.2)后端构建Grafana(4.1.1)图,我正在尝试使用模板在仪表板上选择/取消选择某些指标子集 . 我有一个名为“$ POP”的模板变量,它描述了我的城市位置,以及一个名为“$ Resolver”的模板变量,它描述了我正在使用的解析器的类型(“unbound”或“pdns”是可能的字符串结果 . )

我有这两个这样的指标,目前正在选择$ POP中的各种值:

irate(dnsdist_recursor_main_servers_unbound_drops{env="prod",loc=~"$POP"}[1m]) > 0
irate(dnsdist_recursor_main_servers_pdns_drops{env="prod",loc=~"$POP"}[1m]) > 0

暂时不考虑标签,选择标准嵌入到度量标准名称中(我知道这不是理想的,但这只是一个较大问题集的示例,所以请不要建议我如何使用标签)我想要以下内容结果:

当(〜“$ Resolver”==“unbound”)我想显示第一个度量(dnsdist_recursor_main_servers_unbound_drops)和何时(〜“$ Resolver”==“pdns”)我想显示第二个(dnsdist_recursor_main_servers_pdns_drops)和当两者都被选中时,我想显示两个度量集数据 . 基本上,我希望有一个开/关可见性触发器,用于指向我的$ Resolver模板值的指标 .

如何创建布尔值,以便根据模板化设置$ Resolver中字符串值的设置显示或不显示度量标准?这里的诀窍是选择标准在度量标准名称中,而不是标签,这实际上是在困扰我 . 我试过“bool”修饰符但是从来没有能够在字符串相等测试中得到任何东西 . 我确定这只是一个语法问题,但实例很薄弱 .

1 回答

  • 0

    你可以利用的是标签选择器没有唯一性限制,所以你可以做 {resolver="$resolver",resolver="unbound"}

相关问题