Documentation

Transform data with aggregator and processor plugins

In addition to input plugins and output plugins, Telegraf includes aggregator and processor plugins, which are used to aggregate and process metrics as they pass through Telegraf.

Process
- transform
- decorate
- filter

Aggregate
- transform
- decorate
- filter

CPU

Memory

MySQL

SNMP

Docker

InfluxDB

File

Kafka

Processor plugins process metrics as they pass through and immediately emit results based on the values they process. For example, this could be printing all metrics or adding a tag to all metrics that pass through. For a list of processor plugins and links to their detailed configuration options, see processor plugins.

Aggregator plugins, on the other hand, are a bit more complicated. Aggregators are typically for emitting new aggregate metrics, such as a running mean, minimum, maximum, quantiles, or standard deviation. For this reason, all aggregator plugins are configured with a period. The period is the size of the window of metrics that each aggregate represents. In other words, the emitted aggregate metric will be the aggregated value of the past period seconds. Since many users will only care about their aggregates and not every single metric gathered, there is also a drop_original argument, which tells Telegraf to only emit the aggregates and not the original metrics. For a list of aggregator plugins and links to their detailed configuration options, see aggregator plugins.

Behavior of processors and aggregators when used together

When using both aggregator and processor plugins in Telegraf v1.17, processor plugins process data and then pass it to aggregator plugins. After aggregator plugins aggregate the data, they pass it back to processor plugins. This can have unintended consequences, such as executing mathematical operations twice. See influxdata/telegraf#7993.

If using custom processor scripts, they must be idempotent (repeatable, without side-effects). For custom processes that are not idempotent, use namepass or namedrop to avoid issues when aggregated data is processed a second time.


Was this page helpful?

Thank you for your feedback!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Read more

New in InfluxDB 3.2

Key enhancements in InfluxDB 3.2 and the InfluxDB 3 Explorer UI is now generally available.

See the Blog Post

InfluxDB 3.2 is now available for both Core and Enterprise, bringing the general availability of InfluxDB 3 Explorer, a new UI that simplifies how you query, explore, and visualize data. On top of that, InfluxDB 3.2 includes a wide range of performance improvements, feature updates, and bug fixes including automated data retention and more.

For more information, check out: