我正在使用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“修饰符,但在字符串相等性测试中始终无法获得任何结果。我确信这只是一个语法问题,但示例很少。
发布于 2017-02-22 17:21:06
这里您可以利用的是对标签选择器没有唯一性限制,因此您可以执行{resolver="$resolver",resolver="unbound"}
https://stackoverflow.com/questions/42384197
复制相似问题