OpenTelemetry

Endpoint

otel

URL

https://${OBSERVE_CUSTOMER}.collect.observeinc.com/v2/otel

Maximum Request Size (compressed)

10 MB

Maximum Request Size (uncompressed)

50 MB

Global Individual Observation Limit

4 MB

Global Individual Metric, Span, or Event Limit (including attributes and resource attributes)

1 MB

Observe implements the write-only HTTP endpoint for OpenTelemetry as defined by the OpenTelemetry Protocol Definition and supports the following observation types:

Type

URL Suffix

Protocol Status

Traces

v1/traces

stable

Metrics

v1/metrics

stable

Logs

v1/logs

stable

The request body should be encoded in the Protobuf format and sent with the content-type application/x-protobuf. GRPC ingestion is not supported for the OpenTelemetry endpoint.

To send data using the OpenTelemetry Collector, you need to authenticate with the endpoint using a Datastream Token attached as an http authorization header.

Prerequisite: You must configure a datastream and token before proceeding.

Note

The bearer token format used for datastreams is different than that used by authentication tokens.

Use the following configuration snippets as a guide:

exporters:
  ...
  otlphttp:
    endpoint: "https://${OBSERVE_CUSTOMER}.collect.observeinc.com/v2/otel"
    headers:
      authorization: "Bearer ${OBSERVE_TOKEN}"
service:
  ...
  pipelines:
    traces:
      ...
      exporters: [otlphttp]

If you want to bypass the OpenTelemetry Collector and test the endpoint directly, you must specify the URL and the relevant suffix. For instance, traces should be sent to the following URL:

https://${OBSERVE_CUSTOMERID}.collect.observeinc.com/v2/otel/v1/traces

Again, you need an Observe token for authentication as in this example:

https://${OBSERVE_CUSTOMERID}.collect.observeinc.com/v2/otel/v1/traces \
-H "Authorization: Bearer ab1cdE2FGhiJKlmnop34Q:rstUv5w6Xy7z8AB_CdeFg9h0iJK1mnOPqr" \
-d @sample_trace.json