我正在从一些 Heroku Dyno 收集指标,并且我正在尝试创建一个 Kapacitor 警报,当一个 Dyno 的负载平均值偏离所有 Dyno 的总集体平均值时将触发该警报。
我还没有想出在单个查询中执行此操作的方法,因此我尝试将它们加入 TICK 脚本中。我遇到的问题是在加入时它们不匹配。我想这是因为它认为标签是一个可匹配的值。我宁愿它只是忽略标签并无论如何匹配,因为我仍然需要标签挂在身边,这样我才能确定哪个测功机违反了阈值。
这是我目前想得到的两组数据。
var total_mean = batch
|query('''
SELECT mean("load_avg_5m")
FROM "heroku"."autogen"."dyno_load"
WHERE "source" =~ /web/
''')
.period(1m)
.every(1m)
.groupBy(time(1m))
.fill('null')
var independent_means = batch
|query('''
SELECT mean("load_avg_5m")
FROM "heroku"."autogen"."dyno_load"
WHERE "source" =~ /web/
''')
.period(1m)
.every(1m)
.groupBy(time(1m), 'source')
.fill('null')
这是连接。
var means = total_mean
|join(independent_means)
.as('total', 'independent')
.tolerance(1m)
.fill(0.0)
但是正如你所看到的,它们并没有像描述的那样结合起来
是否有一个查询可以做到这一点?或者有更好的方式加入他们吗?