'或'表达式中的bosun标记的运算符

时间:2017-04-12 10:29:41

标签: monitoring opentsdb bosun

我正在编写一个Bosun表达式,以便在以下服务中获取2xx响应的数量:

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

上面的表达式给出了最后一分钟所选区域(eu-west-1)的2xx请求数,但我想得到2个区域发生的2xx请求数(eu-west-1)和欧洲中心-1)。

此指标标有region。我有4个地区。

我想知道是否可以做一个'或'使用标签进行操作。类似的东西:

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

我已经检查了文档,但我找不到任何可以实现此目的的内容。

1 个答案:

答案 0 :(得分: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的查询。