我试图弄清楚如何在我的 influxDB 上插入新值时发出通知,并将通知与新插入的测量样本的数据一起发送到 HTTP 端点。我不确定这是 Kapacitor 的目标(我是 TICK 堆栈的新手)还是最好使用其他工具(欢迎任何建议)。
提前致谢。
最好的问候,阿尔伯特。
我试图弄清楚如何在我的 influxDB 上插入新值时发出通知,并将通知与新插入的测量样本的数据一起发送到 HTTP 端点。我不确定这是 Kapacitor 的目标(我是 TICK 堆栈的新手)还是最好使用其他工具(欢迎任何建议)。
提前致谢。
最好的问候,阿尔伯特。
其中Kapacitor
有两种类型的任务,即batch
和stream
。前者用于处理历史数据,stream
用于实时目的。
看看您的要求,我想很明显这stream
是要走的路,因为它将使您能够watch
实时获取来自 influxdb 测量的数据。要在 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
再对定义的端点执行 10 秒,整个过程将再次重复every
10 秒。
也就是说,您有一个 10 秒的移动窗口。
参考:
https://docs.influxdata.com/kapacitor/v1.3/nodes/http_post_node/