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.
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.
| Tool | Runtime | Billed by / documented minimum | Brings along |
|---|---|---|---|
| Paid SaaS | |||
| Datadog | SaaS | per host + per GB ingested + per custom metric | the meter with the most axes |
| New Relic | SaaS | per GB ingested + per user | seat pricing on top of data pricing |
| Splunk | SaaS / self-host | per GB/day indexed | volume pricing at its purest |
| Self-hosted open source | |||
| SigNoz | Go + ClickHouse | ~28 cores / ~72 GiB · 5 component types | ClickHouse cluster |
| Grafana LGTM stack | Go, 4 systems | Grafana + Loki + Tempo + Mimir — four separate systems to run | object storage + per-system config |
| Elastic Stack | JVM | Elasticsearch cluster + Kibana — JVM heap sizing is the job | index lifecycle management |
| soma-insights | Rust | 3 binaries on one Postgres — design target: a few tens of MB | Parquet 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
| Capability | soma-insights | The usual route |
|---|---|---|
| Observability — soma-observe | ||
| OTLP ingest, HTTP + gRPC, all 5 signal types | in the box | per-host + per-GB SaaS |
| Alert engine + AI root-cause analysis | in the box | premium tier |
| Prometheus remote-write | in the box | another exporter to run |
| MCP server — agents query production telemetry | in the box | rare anywhere, at any price |
| Analytics — soma-analytics | ||
| YAML metric models compiled to type-safe SQL | in the box | a semantic-layer vendor |
| Mixpanel-compatible event ingest | in the box | per-event SaaS pricing |
| Rust SDK · CLI · zero-dependency JS client | in the box | heavyweight browser snippet |
| Audit — soma-audit-server | ||
| Hash-chained append-only log (HMAC-SHA256) | in the box | a mutable audit table someone can UPDATE |
| Seal / verify endpoints, multi-source keys | in the box | enterprise 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.
Key components
| Component | What it is | Status |
|---|---|---|
| soma-observe | OTLP/HTTP + gRPC ingest (metrics, logs, traces, errors, profiles); alert engine; AI RCA; Prometheus remote-write; cold Parquet export; MCP server (8+ tools) | shipped |
| soma-analytics | YAML metric models → type-safe SQL; REST API; MCP server (list_cubes, run_query); Rust SDK; CLI; zero-dependency JS browser client; Mixpanel-compatible ingest | shipped |
| soma-audit-server | Central audit ingestion + query server; hash-chained Postgres log; seal/verify endpoints; multi-source HMAC keys | shipped |
| Dashboards | 3 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).