SOMA-Insights

OTLP telemetry on Postgres. No JVM, no proprietary time-series database.

Replaces: Datadog, Elastic Stack, Mixpanel, Sentry, custom audit logging

OTLP signal types
5metrics · logs · traces · errors · profiles
Databases required
1Postgres
MCP agent tools
8+
Cold tier
ParquetS3 / Azure

One pipeline, three servers, zero exotic databases

Telemetry, product events, and audit events land in partitioned Postgres. Hot data drives dashboards, alerts, and AI root-cause analysis; old data streams out to Parquet; and an MCP server makes the whole thing queryable by AI agents directly.

SOMA-Insights pipeline: OTLP telemetry, product events, and audit events ingest into partitioned Postgres; hot data serves dashboards, alerts and AI root-cause analysis; cold data streams to Parquet on S3 or Azure; an MCP server gives AI agents direct query access YOUR STACK EMITS OTLP — HTTP + gRPC product events audit events · HMAC soma-observe metrics · logs · traces · errors · profiles soma-analytics YAML models → type-safe SQL soma-audit-server hash-chained · seal / verify Postgres partitioned · no JVM, no ClickHouse, no TSDB hot: dashboards · alerts AI root-cause analysis MCP server your AI agents query prod directly cold: Parquet → S3 / Azure hot tables stay small forever AGENT TOOLS — 8+ query_metrics query_logs run_query get_service_map list_cubes Standard OTLP in, one Postgres under it, Parquet behind it — and your telemetry is legible to AI agents, not just dashboards.

What observability vendors put on the meter

Observability has the most creative meters in SaaS — hosts, gigabytes, custom metrics, seats, sometimes all four at once. The self-hosted escape routes bring their own weight.

ToolRuntimeBilled by / documented minimumBrings along
Paid SaaS
DatadogSaaSper host + per GB ingested + per custom metricthe meter with the most axes
New RelicSaaSper GB ingested + per userseat pricing on top of data pricing
SplunkSaaS / self-hostper GB/day indexedvolume pricing at its purest
Self-hosted open source
SigNozGo + ClickHouse~28 cores / ~72 GiB · 5 component typesClickHouse cluster
Grafana LGTM stackGo, 4 systemsGrafana + Loki + Tempo + Mimir — four separate systems to runobject storage + per-system config
Elastic StackJVMElasticsearch cluster + Kibana — JVM heap sizing is the jobindex lifecycle management
soma-insightsRust3 binaries on one Postgres — design target: a few tens of MBParquet cold tier keeps Postgres small

Billing units are the vendors' published pricing structure; the SigNoz figure is its documented production minimum (signoz.io/docs). Component counts for LGTM and Elastic are structural facts, not resource claims. The SOMA-Insights figure is a design target — no measured production baseline exists yet, and this page won't state one until it does. A detailed load, scaling, and performance analysis is planned across the platform; results publish at /footprint with reproducible scripts.

The box, itemized

Capabilitysoma-insightsThe usual route
Observability — soma-observe
OTLP ingest, HTTP + gRPC, all 5 signal typesin the boxper-host + per-GB SaaS
Alert engine + AI root-cause analysisin the boxpremium tier
Prometheus remote-writein the boxanother exporter to run
MCP server — agents query production telemetryin the boxrare anywhere, at any price
Analytics — soma-analytics
YAML metric models compiled to type-safe SQLin the boxa semantic-layer vendor
Mixpanel-compatible event ingestin the boxper-event SaaS pricing
Rust SDK · CLI · zero-dependency JS clientin the boxheavyweight browser snippet
Audit — soma-audit-server
Hash-chained append-only log (HMAC-SHA256)in the boxa mutable audit table someone can UPDATE
Seal / verify endpoints, multi-source keysin the boxenterprise audit add-on tier

Why the audit log can't quietly lie

Every event's HMAC covers the link before it, and Ed25519 seals let an auditor verify a range without write access. Editing history breaks every later link — detectably.

soma-audit hash chain: each event's HMAC-SHA256 covers the previous link, ending in an Ed25519 seal. Editing any past event breaks every later link. event 1 hmac(key, genesis ‖ e1) event 2 hmac(key, link1 ‖ e2) event 3 hmac(key, link2 ‖ e3) event 4 hmac(key, link3 ‖ e4) Ed25519 seal edit any past event → every later HMAC breaks · verify catches it in one pass core is zero-IO pure chain math · pg sink and outbox client are separate crates · #![forbid(unsafe_code)]

Key components

ComponentWhat it isStatus
soma-observeOTLP/HTTP + gRPC ingest (metrics, logs, traces, errors, profiles); alert engine; AI RCA; Prometheus remote-write; cold Parquet export; MCP server (8+ tools)shipped
soma-analyticsYAML metric models → type-safe SQL; REST API; MCP server (list_cubes, run_query); Rust SDK; CLI; zero-dependency JS browser client; Mixpanel-compatible ingestshipped
soma-audit-serverCentral audit ingestion + query server; hash-chained Postgres log; seal/verify endpoints; multi-source HMAC keysshipped
Dashboards3 Leptos WASM dashboards (observe / analytics / audit) with pre-built dist/usable

Why it matters

  • OTLP into Postgres — no proprietary time-series database, no JVM, no Go runtime
  • MCP server on soma-observe: LLM agents call query_metrics, query_logs, get_service_map against production telemetry directly
  • soma-analytics MCP: describe your data warehouse to any AI agent via list_cubes / run_query
  • Cold Parquet tier: stream old telemetry to S3/Azure to keep hot Postgres tables small

Maturity

Git activity

14 commits over 4 days (2026-07-16 to 2026-07-20).

Get started →Source on GitHub →