我正在使用Prometheus(1.1.2)后端构建Grafana(4.1.1)图表,并尝试使用模板在仪表板上选择/取消选择某些指标子集。我有一个名为“$ POP”的模板变量,它描述了我的城市位置,以及一个名为“$ Resolver”的模板变量,它描述了我正在使用的解析器的类型(“unbound”或“pdns”是可能的字符串结果。)< / p>
我有这两个这样的指标,目前正在选择$ 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”修饰符但是从来没有能够在字符串相等测试中得到任何东西。我确信这只是一个语法问题,但实例很少。
答案 0 :(得分:0)
您可以利用的是标签选择器没有唯一性限制,因此您可以{resolver="$resolver",resolver="unbound"}