2017-04-12 52 views
1

我写一个博斯表达,以获得像一个服务的2xx应答数运营商博斯标签:“或”在一个表达式

ungroup(avg(q("sum:metric.name.hrsp_2xx{region=eu-west-1}", "1m", ""))) 

上述表达式给我2XX请求数(eu-west-1)在最后一分钟,但我想要得到发生在2个地区(eu-west-1和eu-central-1)的2xx个请求的数量。该公制为region。我有4个地区可用。

我想知道是否可以对标签进行'或'操作。例如:

{region=or(eu-west-1,eu-central-1)} 

我检查了文档,但我无法找到任何实现此目的的内容。

回答

3

由于q()特定于查询OpenTSDB,因此它使用相同的语法。你输入的基本语法是使用管道符号:ungroup(avg(q("sum:metric.name.hrsp_2xx{region=eu-west-1|eu-central-one}", "1m", "")))

如果您有version 2.2 set to true,您还可以使用OpenTSDB文档(即host=literal_or(web01|web02|web03))中记录的过滤器的更高级功能。主要优点是OpenTSDB增加了聚合标签值的一个子集而不是全部或全部的能力。 Bosun中的Graph页面也可以帮助您生成OpenTSDB的查询。

相关问题