1

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

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

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

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

我想知道是否可以对标签进行“或”操作。就像是:

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

我已经检查了文档,但我找不到任何东西来实现这一点。

4

1 回答 1

3

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

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

于 2017-04-12T13:22:55.013 回答