🚀 Want to test your workload? Get a free SigNoz instance on ObsessionDB. Reach out hi@obsessiondb.com
Run SigNoz on scale with ObsessionDB or Clickhouse Cloud.
# 1. Configure connection
cp .env.example .env
# Edit .env with your ObsessionDB/ClickHouse Cloud credentials
# 2. Start services
docker compose up -d
# 3. Open UI
open http://localhost:8081# OTLP gRPC
export OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
# OTLP HTTP
curl -X POST http://localhost:4318/v1/traces -H "Content-Type: application/json" -d @trace.jsonYour Applications (OpenTelemetry instrumented)
│
▼ OTLP
┌───────────────────────────────┐
│ OTEL Collector │ localhost:4317 (gRPC)
│ Batches & exports │ localhost:4318 (HTTP)
└───────────────┬───────────────┘
│ Native TCP (port 9440)
▼
┌───────────────────────────────┐
│ ObsessionDB / ClickHouse │
│ SharedMergeTree tables │
│ - distributed_logs_v2 │
│ - distributed_signoz_spans │
│ - distributed_samples_v4 │
└───────────────▲───────────────┘
│ Native TCP
│
┌───────────────┴───────────────┐
│ SigNoz Query Service │ localhost:8081
│ UI + API │
└───────────────────────────────┘
SigNoz expects a sharded ClickHouse cluster with local + distributed tables. SharedMergeTree (ObsessionDB/ClickHouse Cloud) doesn't use this sharding.
We forked the signoz-otel-collector schema-migrator that creates:
distributed_*tables as SharedMergeTree (OTEL writes here)- Local table names as VIEWs pointing to distributed tables (SigNoz reads here)
| Component | Image | Purpose |
|---|---|---|
| signoz | signoz/signoz |
Query service + UI |
| schema-migrator | ghcr.io/obsessiondb/signoz-schema-migrator |
Creates tables + VIEWs |
| otel-collector | signoz/signoz-otel-collector |
Receives telemetry |
See .env.example for connection settings.
- ObsessionDB - Managed SharedMergeTree
- SigNoz - Open source observability
- Schema Migrator Fork - SharedMergeTree support
Apache 2.0