Skip to content

Latest commit

 

History

History
109 lines (82 loc) · 4.03 KB

README.md

File metadata and controls

109 lines (82 loc) · 4.03 KB

OpenTelemetry Output Plugin

This plugin sends metrics to OpenTelemetry servers and agents via gRPC.

Global configuration options

In addition to the plugin-specific configuration settings, plugins support additional global and plugin configuration settings. These settings are used to modify metrics, tags, and field or create aliases and configure ordering, etc. See the CONFIGURATION.md for more details.

Configuration

# Send OpenTelemetry metrics over gRPC
[[outputs.opentelemetry]]
  ## Override the default (localhost:4317) OpenTelemetry gRPC service
  ## address:port
  # service_address = "localhost:4317"

  ## Override the default (5s) request timeout
  # timeout = "5s"

  ## Optional TLS Config.
  ##
  ## Root certificates for verifying server certificates encoded in PEM format.
  # tls_ca = "/etc/telegraf/ca.pem"
  ## The public and private key pairs for the client encoded in PEM format.
  ## May contain intermediate certificates.
  # tls_cert = "/etc/telegraf/cert.pem"
  # tls_key = "/etc/telegraf/key.pem"
  ## Use TLS, but skip TLS chain and host verification.
  # insecure_skip_verify = false
  ## Send the specified TLS server name via SNI.
  # tls_server_name = "foo.example.com"

  ## Override the default (gzip) compression used to send data.
  ## Supports: "gzip", "none"
  # compression = "gzip"

  ## NOTE: Due to the way TOML is parsed, tables must be at the END of the
  ## plugin definition, otherwise additional config options are read as part of
  ## the table

  ## Configuration options for the Coralogix dialect
  ## Enable the following section of you use this plugin with a Coralogix endpoint
  # [outputs.opentelemetry.coralogix]
  #   ## Your Coralogix private key (required).
  #   ## Please note that this is sensitive data!
  #   private_key = "your_coralogix_key"
  #
  #   ## Application and subsystem names for the metrics (required)
  #   application = "$NAMESPACE"
  #   subsystem = "$HOSTNAME"

  ## Additional OpenTelemetry resource attributes
  # [outputs.opentelemetry.attributes]
  # "service.name" = "demo"

  ## Additional gRPC request metadata
  # [outputs.opentelemetry.headers]
  # key1 = "value1"

Supported dialects

Coralogix

This plugins supports sending data to a Coralogix server by enabling the corresponding dialect by uncommenting the [output.opentelemetry.coralogix] section.

There, you can find the required setting to interact with the server.

  • The private_key is your Private Key, which you can find in Settings > Send Your Data.
  • The application, is your application name, which will be added to your metric attributes.
  • The subsystem, is your subsystem, which will be added to your metric attributes.

More information in the Getting Started page.

Schema

The InfluxDB->OpenTelemetry conversion schema and implementation are hosted on GitHub.

For metrics, two input schemata exist. Line protocol with measurement name prometheus is assumed to have a schema matching Prometheus input plugin when metric_version = 2. Line protocol with other measurement names is assumed to have schema matching Prometheus input plugin when metric_version = 1. If both schema assumptions fail, then the line protocol data is interpreted as:

  • Metric type = gauge (or counter, if indicated by the input plugin)
  • Metric name = [measurement]_[field key]
  • Metric value = line protocol field value, cast to float
  • Metric labels = line protocol tags

Also see the OpenTelemetry input plugin.