Exporter Configuration
Exporters define how telemetry data is sent from instrumented applications to observability backends. The Instrumentation custom resource allows you to configure exporter settings that control the destination and format of telemetry data.
TOC
Basic Exporter ConfigurationOTLP ProtocolSignal-specific EndpointsExporter HeadersTimeout ConfigurationCompressionExample ConfigurationVerifying Exporter ConfigurationBasic Exporter Configuration
The exporter configuration in the Instrumentation CR specifies the endpoint where telemetry data should be sent:
This configuration directs all telemetry data (traces, metrics, and logs) to the specified endpoint using the OTLP protocol.
OTLP Protocol
The OpenTelemetry Protocol (OTLP) is the native protocol for transmitting telemetry data. It supports both gRPC and HTTP transports:
- gRPC - Default port 4317, binary protocol with efficient serialization
- HTTP - Default port 4318, HTTP/1.1 or HTTP/2 with protobuf or JSON encoding
You can specify the protocol using environment variables:
Signal-specific Endpoints
You can configure different endpoints for different telemetry signals:
This allows you to route different types of telemetry data to specialized backends.
Exporter Headers
You can add custom headers to exporter requests for authentication or routing purposes:
Headers are specified as comma-separated key-value pairs.
Timeout Configuration
Configure export timeout to control how long the SDK waits for export operations:
The timeout value is specified in milliseconds.
Compression
Enable compression to reduce network bandwidth usage:
Supported compression algorithms include gzip and none.
Example Configuration
Here's a complete example of exporter configuration:
When using the OpenTelemetry Collector as your backend, configure the exporter to point to the Collector's OTLP receiver endpoint. The Collector can then handle routing, processing, and forwarding telemetry data to multiple backends.
Verifying Exporter Configuration
After configuring the exporter, verify that telemetry data is being sent correctly by:
- Checking application logs for export errors
- Monitoring the backend system for incoming telemetry data
- Using the OpenTelemetry Collector's debug exporter to inspect data flow
Ensure that the exporter endpoint is accessible from your application pods. Network policies, service mesh configurations, and firewall rules may affect connectivity.