在将数据发送到InfluxDB之前,我可以使用Kapacitor处理数据吗?

时间:2017-10-14 19:14:12

标签: influxdb kapacitor

我正在引导一个全新的TICK堆栈,并且非常喜欢整个系统。 。 。然而,Kapacitor有一点令我感到困惑。

如果你看一下这里的图表:https://www.influxdata.com/time-series-platform/kapacitor/,有一个箭头将Telegraf连接到Kapacitor。 Telegraf可以直接向Influx发送指标数据,这让我想知道通过Kapacitor转发到Influx的用例是什么。

唯一可以想到的用例是,您可以将处理逻辑从代理插件中移出到Kapacitor中,从而最大限度地减少代理的占用空间。

长话短说,我在这里遗漏了一些东西,是Kapacitor箭头暗示的用例吗?

1 个答案:

答案 0 :(得分:2)

Kapacitor使您能够处理数据流(或从现有的Influxdb实例读取)并写出到Influxdb。这样做的好处是有一个单独的过程完全处理从主后端的数据处理。

一个典型的例子是缩减采样。如果您想直接在Influxdb中执行此操作,则需要处理连续查询以便为您执行此操作...但是管理它们有点麻烦。 Kapacitor可以帮助简化follows

stream
|from()
    .database('telegraf')
    .measurement('cpu')
    .groupBy(*)
|window()
    .period(5m)
    .every(5m)
    .align()
|mean('usage_idle')
    .as('usage_idle')
|influxDBOut()
    .database('telegraf')
    .retentionPolicy('autogen')
    .measurement('mean_cpu_idle')
    .precision('s')

希望有所帮助!