OpenTelemetry SDKs
Configure an OpenTelemetry SDK to export directly to Berserk
Install and enable your language's OTLP exporter, then copy an address from Settings → Endpoints. Use an ingest token from Settings → Databases → Tokens. The token's routing determines the database and destination tables.
OTLP via HTTP
Replace the base URL and token before starting your instrumented application:
export OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
export OTEL_EXPORTER_OTLP_ENDPOINT=https://<your-ingest-host>
export OTEL_EXPORTER_OTLP_HEADERS="authorization=Bearer%20<ingest-token>"
export OTEL_EXPORTER_OTLP_COMPRESSION=gzipThe generic OTEL_EXPORTER_OTLP_ENDPOINT takes a base URL: the exporter appends /v1/traces, /v1/logs or /v1/metrics. A signal-specific variable takes the full signal URL, used as-is:
export OTEL_EXPORTER_OTLP_TRACES_ENDPOINT=https://<your-ingest-host>/v1/traces
export OTEL_EXPORTER_OTLP_LOGS_ENDPOINT=https://<your-ingest-host>/v1/logs
export OTEL_EXPORTER_OTLP_METRICS_ENDPOINT=https://<your-ingest-host>/v1/metricsUse https:// for TLS with certificate verification, or http:// for plaintext. Header environment values use the OTLP exporter configuration format; %20 encodes the space after Bearer.
OTLP via gRPC
Use gRPC when your SDK supports it. The Collector takes host:port; an SDK endpoint uses a URL scheme to select transport security:
export OTEL_EXPORTER_OTLP_PROTOCOL=grpc
export OTEL_EXPORTER_OTLP_ENDPOINT=https://<your-ingest-host>:4317
export OTEL_EXPORTER_OTLP_HEADERS="authorization=Bearer%20<ingest-token>"
export OTEL_EXPORTER_OTLP_COMPRESSION=gzipUse the host and port shown by your installation. For plaintext, change the scheme to http://. Do not append an RPC method path.
Browser applications
Browser JavaScript uses an HTTP exporter. Configure it in application code using the full signal URL and Authorization: Bearer <ingest-token> header. Browsers do not read shell environment variables. Follow your JavaScript SDK's exporter setup; an HTTP address alone does not establish that your installation permits cross-origin requests.
Verify delivery
Trigger an instrumented action and check the SDK's export errors. In Berserk, open the token's database, select the configured destination table for that signal, and filter on your application's service.name in a recent time window.
For an independent test, Settings → Endpoints → OTLP via HTTP provides curl examples for logs, spans and metrics. To forward through a Collector instead, use the complete Collector configuration.