×

Exporters send data to one or more back ends or destinations. An exporter can be push or pull based. By default, no exporters are configured. One or more exporters must be configured. Exporters can support one or more data sources. Exporters might be used with their default settings, but many exporters require configuration to specify at least the destination and security settings.

OTLP Exporter

The OTLP gRPC Exporter exports traces and metrics by using the OpenTelemetry protocol (OTLP).

OpenTelemetry Collector custom resource with an enabled OTLP Exporter
# ...
  config: |
    exporters:
      otlp:
        endpoint: tempo-ingester:4317 (1)
        tls: (2)
          ca_file: ca.pem
          cert_file: cert.pem
          key_file: key.pem
          insecure: false (3)
          insecure_skip_verify: false # (4)
          reload_interval: 1h (5)
          server_name_override: <name> (6)
        headers: (7)
          X-Scope-OrgID: "dev"
    service:
      pipelines:
        traces:
          exporters: [otlp]
        metrics:
          exporters: [otlp]
# ...
1 The OTLP gRPC endpoint. If the https:// scheme is used, then client transport security is enabled and overrides the insecure setting in the tls.
2 The client-side TLS configuration. Defines paths to TLS certificates.
3 Disables client transport security when set to true. The default value is false by default.
4 Skips verifying the certificate when set to true. The default value is false.
5 Specifies the time interval at which the certificate is reloaded. If the value is not set, the certificate is never reloaded. The reload_interval accepts a string containing valid units of time such as ns, us (or µs), ms, s, m, h.
6 Overrides the virtual host name of authority such as the authority header field in requests. You can use this for testing.
7 Headers are sent for every request performed during an established connection.

OTLP HTTP Exporter

The OTLP HTTP Exporter exports traces and metrics by using the OpenTelemetry protocol (OTLP).

OpenTelemetry Collector custom resource with an enabled OTLP Exporter
# ...
  config: |
    exporters:
      otlphttp:
        endpoint: http://tempo-ingester:4318 (1)
        tls: (2)
        headers: (3)
          X-Scope-OrgID: "dev"
        disable_keep_alives: false (4)

    service:
      pipelines:
        traces:
          exporters: [otlphttp]
        metrics:
          exporters: [otlphttp]
# ...
1 The OTLP HTTP endpoint. If the https:// scheme is used, then client transport security is enabled and overrides the insecure setting in the tls.
2 The client side TLS configuration. Defines paths to TLS certificates.
3 Headers are sent in every HTTP request.
4 If true, disables HTTP keep-alives. It will only use the connection to the server for a single HTTP request.

Debug Exporter

The Debug Exporter prints traces and metrics to the standard output.

OpenTelemetry Collector custom resource with an enabled Debug Exporter
# ...
  config: |
    exporters:
      debug:
        verbosity: detailed (1)
    service:
      pipelines:
        traces:
          exporters: [logging]
        metrics:
          exporters: [logging]
# ...
1 Verbosity of the debug export: detailed or normal or basic. When set to detailed, pipeline data is verbosely logged. Defaults to normal.

Load Balancing Exporter

The Load Balancing Exporter consistently exports spans, metrics, and logs according to the routing_key configuration.

The Load Balancing Exporter is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.

For more information about the support scope of Red Hat Technology Preview features, see Technology Preview Features Support Scope.

OpenTelemetry Collector custom resource with an enabled Load Balancing Exporter
# ...
  config: |
    exporters:
      loadbalancing:
        routing_key: "service" (1)
        protocol:
          otlp: (2)
            timeout: 1s
        resolver: (3)
          static: (4)
            hostnames:
            - backend-1:4317
            - backend-2:4317
          dns: (5)
            hostname: otelcol-headless.observability.svc.cluster.local
          k8s: (6)
            service: lb-svc.kube-public
            ports:
              - 15317
              - 16317
# ...
1 The routing_key: service exports spans for the same service name to the same Collector instance to provide accurate aggregation. The routing_key: traceID exports spans based on their traceID. The implicit default is traceID based routing.
2 The OTLP is the only supported load-balancing protocol. All options of the OTLP exporter are supported.
3 You can configure only one resolver.
4 The static resolver distributes the load across the listed endpoints.
5 You can use the DNS resolver only with a Kubernetes headless service.
6 The Kubernetes resolver is recommended.

Prometheus Exporter

The Prometheus Exporter exports metrics in the Prometheus or OpenMetrics formats.

The Prometheus Exporter is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.

For more information about the support scope of Red Hat Technology Preview features, see Technology Preview Features Support Scope.

OpenTelemetry Collector custom resource with an enabled Prometheus Exporter
# ...
  ports:
  - name: promexporter (1)
    port: 8889
    protocol: TCP
  config: |
    exporters:
      prometheus:
        endpoint: 0.0.0.0:8889 (2)
        tls: (3)
          ca_file: ca.pem
          cert_file: cert.pem
          key_file: key.pem
        namespace: prefix (4)
        const_labels: (5)
          label1: value1
        enable_open_metrics: true (6)
        resource_to_telemetry_conversion: (7)
          enabled: true
        metric_expiration: 180m (8)
        add_metric_suffixes: false (9)
    service:
      pipelines:
        metrics:
          exporters: [prometheus]
# ...
1 Exposes the Prometheus port from the Collector pod and service. You can enable scraping of metrics by Prometheus by using the port name in ServiceMonitor or PodMonitor custom resource.
2 The network endpoint where the metrics are exposed.
3 The server-side TLS configuration. Defines paths to TLS certificates.
4 If set, exports metrics under the provided value. No default.
5 Key-value pair labels that are applied for every exported metric. No default.
6 If true, metrics are exported using the OpenMetrics format. Exemplars are only exported in the OpenMetrics format and only for histogram and monotonic sum metrics such as counter. Disabled by default.
7 If enabled is true, all the resource attributes are converted to metric labels by default. Disabled by default.
8 Defines how long metrics are exposed without updates. The default is 5m.
9 Adds the metrics types and units suffixes. Must be disabled if the monitor tab in Jaeger console is enabled. The default is true.

Kafka Exporter

The Kafka Exporter exports logs, metrics, and traces to Kafka. This exporter uses a synchronous producer that blocks and does not batch messages. You must use it with batch and queued retry processors for higher throughput and resiliency.

The Kafka Exporter is a Technology Preview feature only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs) and might not be functionally complete. Red Hat does not recommend using them in production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.

For more information about the support scope of Red Hat Technology Preview features, see Technology Preview Features Support Scope.

OpenTelemetry Collector custom resource with an enabled Kafka Exporter
# ...
  config: |
    exporters:
      kafka:
        brokers: ["localhost:9092"] (1)
        protocol_version: 2.0.0 (2)
        topic: otlp_spans (3)
        auth:
          plain_text: (4)
            username: example
            password: example
          tls: (5)
            ca_file: ca.pem
            cert_file: cert.pem
            key_file: key.pem
            insecure: false (6)
            server_name_override: kafka.example.corp (7)
    service:
      pipelines:
        traces:
          exporters: [kafka]
# ...
1 The list of Kafka brokers. The default is localhost:9092.
2 The Kafka protocol version. For example, 2.0.0. This is a required field.
3 The name of the Kafka topic to read from. The following are the defaults: otlp_spans for traces, otlp_metrics for metrics, otlp_logs for logs.
4 The plain text authentication configuration. If omitted, plain text authentication is disabled.
5 The client-side TLS configuration. Defines paths to the TLS certificates. If omitted, TLS authentication is disabled.
6 Disables verifying the server’s certificate chain and host name. The default is false.
7 ServerName indicates the name of the server requested by the client to support virtual hosting.