如何在滚动窗口上“检查”(警告)InfluxDB 2.0中的聚合?

问题描述 投票:0回答:1

我想在评估检查之前的3个小时内,当特定类型事件的计数小于5时发出警报,但是我需要每15分钟执行一次此检查。

由于我需要检查的时间比我测量的时间跨度更频繁,因此我无法根据原始数据执行此操作(根据docs,“ [计划]间隔与以下项的合计函数间隔匹配检查查询”。但是我认为我可以使用“任务”将数据转换成可以使用的形式。

我能够通过通量查询以希望的方式聚合数据,甚至将最终的滚动计数保存到仪表板。

from(bucket: "myBucket")
    |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
    |> filter(fn: (r) =>
        (r._measurement == "measurementA"))
    |> filter(fn: (r) =>
        (r._field == "booleanAttributeX"))
    |> window(
        every: 15m,
        period: 3h,
        timeColumn: "_time",
        startColumn: "_start",
        stopColumn: "_stop",
        createEmpty: true,
    )
    |> count()
    |> yield(name: "count")
    |> to(bucket: "myBucket", org: "myOrg")

导致以下散点图。

scatterplot of rolling count

我希望我可以将其复制粘贴为新任务,并获得不错的新聚合数据集。解决了几个明显的语法错误后,我决定使用以下任务定义:

option v = {timeRangeStart: -12h, timeRangeStop: now()}
option task = {name: "blech", every: 15m}

from(bucket: "myBucket")
    |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
    |> filter(fn: (r) =>
        (r._measurement == "measurementA"))
    |> filter(fn: (r) =>
        (r._field == "booleanAttributeX"))
    |> window(
        every: 15m,
        period: 3h,
        timeColumn: "_time",
        startColumn: "_start",
        stopColumn: "_stop",
        createEmpty: true,
    )
    |> count()
    |> yield(name: "count")
    |> to(bucket: "myBucket", org: "myOrg")

不幸的是,我陷入了一个找不到任何地方提及的错误:could not execute task run; Err: no time column detected: no time column detected

如果您能帮助我调试此任务运行错误,或者通过以其他方式完成此任务来回避它,我将非常感谢。

influxdb influxdb-2 fluxlang
1个回答
0
投票

[我知道我来晚了,但是to函数需要一个_time列,但是您要添加的count集合返回一个_start_stop列以指示计数的时间范围,而不是_time

您可以通过在|> duplicate(column: "_stop", as: "_time")功能之前添加to或利用为您处理的aggregateWindow功能来解决此问题。

|> aggregateWindow(every: 15m, fn: count)

参考:

https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/count

https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/duplicate/

https://v2.docs.influxdata.com/v2.0/reference/flux/stdlib/built-in/transformations/aggregates/aggregatewindow/

© www.soinside.com 2019 - 2024. All rights reserved.