OpenTelemetry (OTel)
Get your OTLP Flowing
Last updated
Get your OTLP Flowing
Receive logs from any OpenTelemetry exporter.
From Sources, click Add Source and select OTLP.
Give the source a unique name. By default, incoming telemetry is mapped to streams using two OTel resource attributes:
Stream Type Attribute
OTel resource attribute mapped to ct.stream.type. Defaults to service.name.
Stream Name Attribute
OTel resource attribute mapped to ct.stream.name. Defaults to service.instance.id.
For most setups the defaults work as long as your exporter sets service.name and service.instance.id on the resource. The ct.source.type and ct.source.id fields are always set automatically.
For advanced mappings (e.g. computing stream type/name from different attributes), expand Custom log statements to provide OTTL transforms that run in the resource context and replace the simple mappings above. This is rarely needed.
Click Create. Dstl8 generates an OTLP/HTTP endpoint and a bearer token.
OTLP/HTTP Endpoint
Base URL for your exporter, e.g. https://<org_id>.app.dstl8.ai/src-<id>. The exporter POSTs to /v1/logsunder this base URL.
Bearer Token
Include in the Authorization header of every request.
Example OTel collector config:
The source appears in the list as Pending with 0 streams. Once your exporter starts sending telemetry, streams are detected from the configured attributes and the source transitions to Healthy. Each stream is listed with its inferred Stream Type (e.g. checkout-service, payment-api, etc..).
Streams need to be assigned to a workspace to be accessible. Open the source's actions menu (gear icon) and select Assign Streams, then check the streams you want the Default workspace (or any other workspace) to receive and Save.
See Assigning streams to workspaces for details.
Use service.name to group related instances under one Stream Type, and service.instance.id (pod name, hostname, container ID) to give each a unique Stream Name.
Add a separate OTLP source per environment rather than sharing one endpoint across staging and production, so streams don't collide.
Last updated
exporters:
otlphttp:
endpoint: https://<org_id>.app.dstl8.ai/src-<id>
headers:
Authorization: "Bearer <your-token>"