Skip to content

Telegraf exporter and receiver #2951

@jacobmarble

Description

@jacobmarble

Is your feature request related to a problem? Please describe.
I would like to use Telegraf agents and OpenTelemetry Collector agents together. I would like the translation to be consistent between implementations.

Describe the solution you'd like
OpenTelemetry Collector and Telegraf are both implemented in golang. Rather than let the two communities create their own mappings OTLP<->line-protocol, there should be one canonical mapping and one canonical golang implementation. In this way, improvements to otelcol benefit Telegraf, and visa versa.

A work-in-progress single package exists here.

With this single reference package, create the following:

  • An otelcol exporter: to Telegraf/InfluxDB (line protocol over HTTP)
  • An otelcol receiver: from Telegraf (line protocol over HTTP)
  • (out of scope here) A Telegraf OpenTelemetry input plugin
  • (out of scope here) A Telegraf OpenTelemetry output plugin

Describe alternatives you've considered
Wrap otelcol in Telegraf execd input and execd output plugins. This is hard to package and configure.

Wrap Telegraf in an otelcol extension similar to the fluentbit extension. Hard to package and configure.

Fork portions of Telegraf into otelcol. This has already been done with windowsperfcountersreceiver. The result is more code, less attention to bug fixes, potential licensing issues later, etc.

Additional context
Telegraf is an open-source metrics pipeline agent, similar to the OpenTelemetry Collector. Telegraf has hundreds of input, output, and other plugins and is fairly popular today. Connecting these two tools would foster OpenTelemetry growth.

Telegraf is related to InfluxDB (a time series database; both are InfluxData products), but does not depend on InfluxDB.

Proposed Telegraf input plugin for OTLP/gRPC

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions