使用kapacitor仅处理唯一数据点

时间:2019-01-28 11:51:41

标签: influxdb kapacitor

我想通过在处理后设置一个标志来确保kapacitor仅处理唯一的数据点。这是因为传感器将数据发送到db时出现时间重叠,以防止多次处理数据点。我想做这样的事情:

dbrp "TEST_MEASUREMENTS"."autogen"

batch
    |query('''
        SELECT mean(data)
        FROM "TEST_MEASUREMENTS"."autogen"."temperature"
        WHERE "processed" != 'true'
    ''')
        .period(5h)
        .every(1m)
    |alert()
        .crit(lambda: "mean" > 3)
        .post('http://localhost/api/post-alerts')
    |InfluxDBOut()
        .database('TEST_MEASUREMENTS')
        .retentionPolicy('autogen')
        .measurement('temperature')
        .tag('processed','true')

我可以放弃节点| changeDetect(“已处理”)的位置。显然,我的脚本不起作用,因为它会将新的数据点写入到我的表中,而不是使用已处理的true更新旧的数据点。如何使用kapacitor做到这一点?

由于某种原因,另外进行“处理” ==“假”不会触发警报。

0 个答案:

没有答案