我正在编写一个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)}
我已经检查了文档,但我找不到任何可以实现此目的的内容。
答案 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的查询。