Skip to content

OTEL SigNoz Deployment

Goal

Make MBPanel's OpenTelemetry (traces + optional metrics) export production-grade and compatible with SigNoz.

SigNoz is an OpenTelemetry-native observability platform (logs, traces, metrics) and can be deployed self-hosted or cloud. See: https://github.com/SigNoz/signoz (GitHub repo).

What MBPanel exports

  • Traces: exported via OTLP gRPC from the application when ENABLE_OPENTELEMETRY=true
  • Metrics: exported via OTLP gRPC when ENABLE_OPENTELEMETRY=true and OTEL_METRICS_ENABLED=true
  • Logs: MBPanel emits Structlog JSON to stdout and mirrors each record through the OpenTelemetry LoggingHandler when OTEL_LOGS_ENABLED=true, so SigNoz ingests the same structured payloads described in their log ingestion docs without requiring a sidecar shipper.

Required environment variables (backend)

Minimum (local/dev)

ENABLE_OPENTELEMETRY=true
ENVIRONMENT=development
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317

Notes: - In non-production, MBPanel defaults OTLP to insecure/plaintext unless explicitly overridden.

Minimum (production-grade)

ENABLE_OPENTELEMETRY=true
ENVIRONMENT=production

# Use TLS endpoint for OTLP gRPC (recommended)
OTEL_EXPORTER_OTLP_ENDPOINT=https://otel-collector.mycompany.internal:4317

# Explicitly keep TLS on (default for production); set to true only if you accept plaintext
OTEL_EXPORTER_OTLP_INSECURE=false

Guardrails: - If ENVIRONMENT=production and endpoint starts with http:// while OTEL_EXPORTER_OTLP_INSECURE=false, MBPanel will fail fast at startup to prevent silent "no traces exported" deployments.

Tuning knobs (optional)

# Sampling
OTEL_TRACES_SAMPLE_RATE=0.1

# Batch export performance tuning
OTEL_BATCH_MAX_QUEUE_SIZE=2048
OTEL_BATCH_SCHEDULE_DELAY_MILLIS=5000
OTEL_BATCH_MAX_EXPORT_BATCH_SIZE=512
OTEL_EXPORT_TIMEOUT_MILLIS=30000

# Metrics export
OTEL_METRICS_ENABLED=true