我正在尝试按小时汇总前一周的数据,并计算汇总统计信息,例如中位数,平均值等。
我正在使用这样的东西:
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问题,我记录数据的方式,还是我重播的方式?
答案 0 :(得分:0)
我知道,我需要在Kapacitor中进行聚合,而不是使用Influx。这似乎是一个已知的问题,但找到它的文档是棘手的。 https://github.com/influxdata/kapacitor/issues/1257和https://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')