'Or' 表达式中 bosun 标签的运算符

'Or' operator for bosun tags in an expression

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

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

上面的表达式给出了所选区域 (eu-west-1) 在最后一分钟内的 2xx 请求数,但我想获取在 2 个区域 (eu-west) 中发生的 2xx 请求数-1 和 eu-central-1).

此指标带有 region 标记。我有 4 个可用区域。

我想知道是否可以对标签进行 'or' 操作。类似于:

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

我已经检查了文档,但找不到任何实现此目的的方法。

由于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 中的图形页面还可以帮助您生成 OpenTSDB 的查询。