使用聚合器和处理器插件转换数据
除了输入插件和输出插件之外,Telegraf 还包括聚合器和处理器插件,它们用于在指标通过 Telegraf 时聚合和处理指标。
- 转换
- 修饰
- 过滤] Aggregate[聚合器
- 转换
- 修饰
- 过滤] CPU --> Process Memory --> Process MySQL --> Process SNMP --> Process Docker --> Process Process --> Aggregate Aggregate --> InfluxDB Aggregate --> File Aggregate --> Kafka style Process text-align:left style Aggregate text-align:left
处理器插件在指标通过时处理指标,并根据它们处理的值立即发出结果。例如,这可以是打印所有指标或向所有通过的指标添加标签。有关处理器插件列表以及指向其详细配置选项的链接,请参阅处理器插件。
聚合器插件,另一方面,稍微复杂一些。聚合器通常用于发出新的聚合指标,例如运行平均值、最小值、最大值、分位数或标准差。因此,所有聚合器插件都配置了一个 period
。period
是每个聚合表示的指标窗口的大小。换句话说,发出的聚合指标将是过去 period
秒的聚合值。由于许多用户只关心他们的聚合,而不是收集的每个指标,因此还有一个 drop_original
参数,它告诉 Telegraf 仅发出聚合,而不是原始指标。有关聚合器插件列表以及指向其详细配置选项的链接,请参阅聚合器插件。
当一起使用处理器和聚合器时的行为
当在 Telegraf v1.17 中同时使用聚合器和处理器插件时,处理器插件处理数据,然后将其传递给聚合器插件。在聚合器插件聚合数据后,它们将其传递回处理器插件。这可能会产生意想不到的后果,例如执行两次数学运算。请参阅 influxdata/telegraf#7993。
如果使用自定义处理器脚本,它们必须是幂等的(可重复的,无副作用)。对于非幂等的自定义进程,请使用 namepass 或 namedrop 以避免在第二次处理聚合数据时出现问题。
此页面是否对您有帮助?
感谢您的反馈!