InfluxDB TICK 脚本:如何将个人均值与累积均值进行比较?

时间:2021-06-30 15:25:39

标签: statistics influxdb kapacitor

我正在从一些 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)

但是正如你所看到的,它们并没有像描述的那样结合起来

enter image description here

是否有一个查询可以做到这一点?或者有更好的方式加入他们吗?

0 个答案:

没有答案