Getting Started

Send your first trace in 5 minutes

Get distributed traces, metrics, and logs flowing into obseria.io using the OpenTelemetry SDK. No agents to manage, no lock-in, no surprise bills.

5 min

to first trace

0 agents

required

6 SDKs

supported

Prerequisites

A obseria.io account — free tier available, no credit card required
Node.js 18+, Python 3.8+, Go 1.21+, Java 11+, or .NET 8+
5 minutes of your time
Create free account

Select your language

1

Create an API key

Log in to your obseria.io account and navigate to Settings → API Keys → New key. Give it a name (e.g. production-ingest) and copy the key.

Warning:API keys are shown only once. Store yours in a secrets manager or environment variable — never commit it to source code.
dl_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
2

Install the SDK

Install the OpenTelemetry SDK and OTLP exporter for Node.js:

bash
npm install @opentelemetry/sdk-node \
  @opentelemetry/auto-instrumentations-node \
  @opentelemetry/exporter-trace-otlp-grpc
Tip:obseria.io accepts any OpenTelemetry-compatible exporter. Already have OTel set up? Skip to Step 3.
3

Configure the exporter

Point the SDK at obseria.io's ingest endpoint and authenticate with your API key:

ProtocolEndpoint
gRPC (recommended)ingest.obseria.io:4317
HTTP / protobufhttps://ingest.obseria.io/v1/traces
HTTP / JSONhttps://ingest.obseria.io/v1/traces
typescript
// tracing.ts
import { NodeSDK } from '@opentelemetry/sdk-node';
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-grpc';
import { getNodeAutoInstrumentations } from '@opentelemetry/auto-instrumentations-node';

const sdk = new NodeSDK({
  traceExporter: new OTLPTraceExporter({
    url: 'grpc://ingest.obseria.io:4317',
    // Auth via OTEL_EXPORTER_OTLP_HEADERS env var (see Step 3)
  }),
  instrumentations: [getNodeAutoInstrumentations()],
  serviceName: 'my-service',
});

sdk.start();
4

Run your service

Start your application with your obseria.io API key in the environment:

bash
DATALEAK_API_KEY=dl_live_xxxx \
OTEL_EXPORTER_OTLP_HEADERS="authorization=Bearer dl_live_xxxx" \
node -r ./tracing.js index.js
Note:Traces appear in the obseria.io UI within a few seconds. Navigate to Tracing → Explorer to see them.
5

Verify in the UI

Make a few requests to your service. In the obseria.io UI, open Tracing → Explorer and look for traces from your service.

Each trace shows the full call tree — spans, attributes, status codes, and timing. Click any span to inspect its attributes and linked logs.

You're live!

If you can see traces in the UI, the setup is complete. Continue with Core Concepts to understand the data model, or set up Smart Alerting to get notified when things go wrong.