Sources
OpenTelemetry
Easily ingest data to Streamfold with OpenTelemetry.
The OpenTelemetry source allows you to ingest metrics, traces, and logs to Streamfold from applications that support OpenTelemetry. It is compatible with the OpenTelemetry Protocol (OTLP).
Overview
The OpenTelemetry source allows you to import metrics, traces, and logs to Streamfold from any OpenTelemetry compatible application or the OpenTelemetry Collector. The source supports the OpenTelemetry Protocol, or OTLP, and accepts data over OTLP/gRPC, OTLP/HTTP JSON, or OTLP/HTTP Protobuf.
The source is compatible with OTLP specification version 1.0.0.
You should know!
You can only add a single OpenTelemetry source to your Streamfold account at the moment.
Configuration
The OTLP endpoint for the OpenTelemetry source is the same for both gRPC and HTTP transports.
- Endpoint:
https://ingress.streamfold.com
- Required header
x-streamfold-token
must be set to your Streamfold ingress token
There are two ways to connect OTLP traffic to Streamfold. The recommended way is to use the OpenTelemetry collector, deployed alongside your application as a local aggregator, exporting OTLP data to Streamfold. You can also connect your applications directly to Streamfold with the correct OTLP environment variables. Below you will find instructions for both approaches.
OpenTelemetry Collector (recommended)
Create a new exporter config in your otel-collector-config.yaml
and connect it to your pipelines.
exporters:
otlp:
endpoint: "ingress.streamfold.com:443"
headers:
"x-streamfold-token": "<sf-ingress-token>"
Here is an example of a full otel-collector-config.yaml
that uses the exporter above. See the OpenTelemetry Collector configuration documentation to learn how to customize this further.
receivers:
otlp:
protocols:
grpc: # port 4317
http: # port 4318
processors:
batch:
exporters:
otlp:
endpoint: "ingress.streamfold.com:443"
headers:
"x-streamfold-token": "<sf-ingress-token>"
service:
pipelines:
traces:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
metrics:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
logs:
receivers: [otlp]
processors: [batch]
exporters: [otlp]
Direct instrumentation
You can connect an OpenTelemetry instrumented application directly to Streamfold as well. Set the environment variables below in your application before execution.
For instrumentation libraries that support OTLP/gRPC, set the following:
export OTEL_EXPORTER_OTLP_ENDPOINT=ingress.streamfold.com:443
export OTEL_EXPORTER_OTLP_HEADERS="x-streamfold-token=<sf-ingress-token>"
For instrumentation libraries that support OTLP/HTTP, set the following:
export OTEL_EXPORTER_OTLP_ENDPOINT=https://ingress.streamfold.com
export OTEL_EXPORTER_OTLP_HEADERS="x-streamfold-token=<sf-ingress-token>"