通过 HTTP 在 InfluxDB 上发送新插入的值

Send the new inserted value on InfluxDB through HTTP

我正在尝试弄清楚如何在我的 influxDB 上插入新值时发出通知,并使用新插入的测量样本的数据向 HTTP 端点发送通知。我不确定这是 Kapacitor 的目标(我是 TICK 堆栈的新手)还是使用其他工具更好(欢迎提出任何建议)。

提前致谢。

此致, 艾伯特.

Kapacitor中有两种类型的任务,即batchstream。前者用于处理历史数据,stream用于实时目的。

根据您的要求,我想很明显 stream 是可行的方法,因为它将使您能够实时从 influxdb 的测量中获取 watch 数据。要在 TICK 脚本中调用端点,您可以使用 HttpPostNode 节点。

示例(仅限伪代码):

var data = stream
    |from()
        .database('myInfluxDB')
        .retentionPolicy('autogen')
        .measurement('measurement_ABCD')
    |window()
        .period(10s)
        .every(10s)


data
    |httpPost('http://your.service.url/api/endpoint_xyz')

在这种情况下,TICK 脚本将 watch 用于新插入的测量数据,measurement_ABCD 持续 window 10 秒,然后再对 HTTP POST定义的端点,整个过程将再次重复 every 10 秒。

也就是说,你有10秒的移动window。

参考:

https://docs.influxdata.com/kapacitor/v1.3/nodes/http_post_node/