Quickstart: send your first telemetry
Create an API key and stream OpenTelemetry into VerOps in five minutes — via the Collector or straight from an SDK.
1. Create an API key
Sign in as an Admin or Super Admin and open Settings → API Keys → New key. Copy it immediately — the full value (ta_live_…) is shown only once. This key identifies your organization on ingest.
2. Smoke-test the endpoint
Confirm the endpoint and key before wiring anything up. A 2xx (not 401) means you're good:
curl -i -X POST https://ingest.verops.io/v1/traces \
-H "Authorization: Bearer ta_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{"resourceSpans":[]}'
3a. Send via the OpenTelemetry Collector (recommended)
Run a Collector next to your workloads; point your apps at it, and it forwards everything to VerOps. Minimal working config.yaml:
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
processors:
batch:
timeout: 5s
send_batch_size: 8192
send_batch_max_size: 8192
exporters:
otlphttp/verops:
endpoint: https://ingest.verops.io
compression: gzip
headers:
Authorization: "Bearer ta_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
service:
pipelines:
traces: { receivers: [otlp], processors: [batch], exporters: [otlphttp/verops] }
metrics: { receivers: [otlp], processors: [batch], exporters: [otlphttp/verops] }
logs: { receivers: [otlp], processors: [batch], exporters: [otlphttp/verops] }
docker run -d --name verops-otel --restart unless-stopped \
-p 4317:4317 -p 4318:4318 \
-v "$PWD/config.yaml:/etc/otelcol-contrib/config.yaml:ro" \
otel/opentelemetry-collector-contrib:latest
Point your applications at the Collector: OTEL_EXPORTER_OTLP_ENDPOINT=http://<collector-host>:4318 (HTTP) or :4317 (gRPC).
Theotlpreceiver only relays data your apps push to it. If you want the Collector itself to produce host or container metrics, add ahostmetrics/docker_statsreceiver — see Collector recipes.
3b. Or send straight from an SDK (no Collector)
Every OpenTelemetry SDK honours the standard OTLP environment variables. Because VerOps ingests over HTTP, set the protocol to http/protobuf:
export OTEL_EXPORTER_OTLP_PROTOCOL=http/protobuf
export OTEL_EXPORTER_OTLP_ENDPOINT=https://ingest.verops.io
export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Bearer ta_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
export OTEL_SERVICE_NAME=checkout-api
The SDK appends /v1/traces, /v1/metrics, /v1/logs to the endpoint automatically.
4. Verify it landed
Open Explore → Metrics (or the service map for traces), make sure the tenant selector is on your organization and the time range is Last 15 minutes. If a smoke-test returns 200 but nothing appears, jump to Troubleshooting ingestion — it's almost always a missing resource attribute, not a delivery problem.