Send Jaeger traces to Promscale
On Promscale 0.14.0 and above, you can natively use Jaeger gRPC based remote storage. On Promscale 0.11.0 and above, you can natively use OpenTelemetry Protocol (OTLP) for traces. To ingest Jaeger traces to Promscale, you can either:
- Use the Jaeger Collector to ingest Jaeger spans directly to configured remote storage. This avoids using any non-Jaeger components, including the OpenTelemetry collector.
- Use the OpenTelemetry Collector to convert Jaeger traces to OpenTelemetry traces.
Send data using the Jaeger Collector
You can configure the Jaeger Collector to store the traces using Promscale’s native implementation of Jaeger gRPC storage specification.
Here’s an example configuration to enable the Jaeger collector to forward traces to Promscale:
docker run \
-e SPAN_STORAGE_TYPE=grpc-plugin \
-e GRPC_STORAGE_SERVER="<PROMSCALE_HOST>:<gRPC_PORT>" \
jaegertracing/jaeger-collector:1.37.0
Where:
<PROMSCALE_HOST>
: hostname of Promscale.<gRPC_PORT>
: gRPC port of Promscale. The default port is 9202.
If you are running the Jaeger Collector and the Promscale Connector on a Kubernetes cluster, the endpoint parameter is similar to endpoint: "promscale-connector.default.svc.cluster.local:<PORT>"
note
This is the preferred option, unless you need the additional capabilities of the OpenTelemetry collectorotelcol-config.
Send data using the OpenTelemetry Collector
You can configure the OpenTelemetry Collector to forward Jaeger traces to Promscale using the Jaeger receiver and the OpenTelemetry exporter.
Here’s an example configuration file for the OpenTelemetry Collector to forward traces to Promscale after batch processing the data:
receivers:
jaeger:
protocols:
grpc:
thrift_binary:
thrift_compact:
thrift_http:
exporters:
otlp:
endpoint: "<PROMSCALE_HOST>:<gRPC_PORT>"
tls:
insecure: true
sending_queue:
queue_size: 1000000
timeout: 10s
processors:
batch:
send_batch_size: 4000
send_batch_max_size: 4000
timeout: 10s
service:
pipelines:
traces:
receivers: [jaeger]
exporters: [otlp]
processors: [batch]
Where:
<PROMSCALE_HOST>
: hostname of Promscale.<gRPC_PORT>
: gRPC port of Promscale. The default port is 9202.
If you are running the OTLP Collector and the Promscale Connector on a Kubernetes cluster, the endpoint parameter is similar to endpoint: "promscale-connector.default.svc.cluster.local:<PORT>"
The default ports exposed by the OpenTelemetry Collector Jaeger receiver are:
14250
: gRPC6832
: thrift_binary These are the ports where you should send your Jaeger traces.6831
: thrift_compact14268
: thrift_http
For more information about the OpenTelemetry Collector, see the OpenTelemetry documentation.