我试图弄清楚如何在我的 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持续window10 秒,然后HTTP POST再对定义的端点执行 10 秒,整个过程将再次重复every10 秒。
也就是说,您有一个 10 秒的移动窗口。
参考:
https://docs.influxdata.com/kapacitor/v1.3/nodes/http_post_node/