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

问题描述

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

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

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)