Kapacitor录制/重播数据中未输出上一期间

时间:2017-10-13 20:14:09

标签: influxdb kapacitor

我正在尝试按小时汇总前一周的数据,并计算汇总统计信息,例如中位数,平均值等。

我正在使用这样的东西:

var weekly_median = batch
    |query('''SELECT median("duration") as week_median
              FROM "db"."default"."profiling_metrics"''')
        .period(1w)
        .every(1h)
        .groupBy(*)
        .align()
    |influxDBOut()
        .database('default')
        .measurement('summary_metrics')

查询按预期工作,但记录和重放数据以使用

进行测试时除外
kapacitor record batch -task medians -past 30d
kapacitor replay -task medians -recording $rid -rec-time

上一期间(本案例为1周)的数据丢失。如果我将期间更改为1天,则除了最后一天的价值之外,所有数据都会重播。

这是我的tickscript问题,我记录数据的方式,还是我重播的方式?

1 个答案:

答案 0 :(得分:0)

我知道,我需要在Kapacitor中进行聚合,而不是使用Influx。这似乎是一个已知的问题,但找到它的文档是棘手的。 https://github.com/influxdata/kapacitor/issues/1257https://github.com/influxdata/kapacitor/issues/1258很有帮助。解决方案是做类似的事情:

var weekly_median = batch
    |query('''SELECT "duration"
              FROM "db"."default"."profiling_metrics"
              WHERE "result" =~ /passed/''')
        .period(1w)
        .every(1h)
        .groupBy(*)
        .align()
    |median('duration')
        .as('week_median')
    |influxDBOut()
        .database('default')
        .measurement('summary_metrics')