What is Observability Unified?
Observability Unified is a self-hosted observability platform that gives AI agents context to debug production software. One collector connects traces, logs, replay, profiles, and agent activity. AI agents retrieve compact evidence bundles with citations through MCP, and engineers inspect the same records in the dashboard. A local Docker image includes the collector, dashboard, storage, and optional sample data.
Can agents investigate incidents in applications that do not use AI?
Yes. Agents can use MCP to investigate ordinary production incidents using traces, logs, service maps, replays, and other connected evidence. For applications that use AI agents, the Agent Action Graph also shows runs, model calls, tools, costs, and evals.
Can AI agents inspect Observability Unified through MCP?
Yes. The Observability Unified MCP server exposes tools for status, traces, logs, service maps, AI sessions, users, replays, connected signals, profiles, evals, agent runs, actions, tool calls, evidence bundles, retrieval refs, evidence expansion stats, recent changes, change blast radius, and similar findings. Remediation tools are registered only when writes are explicitly enabled. Agents can start from a failing trace, AI cost spike, user session, profile frame, analysis result, or action ID and gather the same evidence an engineer sees in the dashboard.
What is CCR?
CCR means compressed context retrieval. Instead of sending an agent every correlated log, span, replay chunk, profile frame, AI call, and tool payload immediately, Observability Unified returns a compact evidence bundle first: clustered log exemplars, ranked spans, citations, compaction provenance, suggested pivots, and retrieval refs. The raw evidence remains available, but the agent has to expand it intentionally.
How is it different from Datadog, Sentry, or PostHog?
Its primary difference is unification for debugging. APM traces, logs, product analytics, session replay, AI observability, alerting, profiles, agent action graphs, and analyses live in one collector and one dashboard, correlated through a single identity chain and exposed to agents through MCP. Many observability vendors now offer MCP servers; see the comparison for sourced details. Here, MCP tools are read-only by default and return compact evidence bundles with citations, evidence references, confidence, exemplar pivots, and retrieval refs that link back to the same records the dashboard shows. It also runs on your own infrastructure, so no external telemetry vendor sits in the data path.
What is the Agent Action Graph?
The Agent Action Graph shows what an agent did and what each step caused. It links browser actions, agent runs, LLM calls, retrievals, tool calls, guardrails, backend traces, logs, profiles, and eval cases through stable action IDs. Engineers see it in the dashboard; AI agents can traverse the same graph through MCP.
How does AutoSRE keep an AI agent from rolling back the wrong deploy?
AutoSRE separates link provenance (relationshipCertainty: exact, inferred, heuristic) from causal proof (causalProofTier: unverified_locus, corroborated_candidate, cohort_rate_isolated, counterfactual_verified), and a per-action policy matrix decides what each tier allows. For rollback_deploy and toggle_feature_flag, a stack frame overlapping a changed file only reaches corroborated_candidate, which needs human approval in the dashboard, and unverified_locus is blocked. A grant without human approval needs traffic-normalized cohort error lift (with minimum sample sizes and noisy-neighbor contention checks) or paired baseline-fail/candidate-pass counterfactual eval runs. Config and prompt changes need counterfactual verification. MCP write tools stay unregistered unless you set OBS_MCP_ENABLE_WRITES. The collector only issues a single-use grant; your own runner claims it and executes the change.
What's the data retention model?
Retention is controlled by the RETENTION_HOURS environment variable on the collector and defaults to 72 hours. Profile blobs have a separate PROFILE_RETENTION_HOURS override because they're larger per record. Because everything lives in your storage account, you set the policy and pay the storage directly; there's no per-event retention tier to negotiate.
When do I outgrow D1, and what's the upgrade path?
D1 is the default low-ops hosted path for small and medium deployments. The practical ceiling depends on event volume, cardinality, and retention, so heavy installs should move to the Node collector with Postgres plus S3-compatible blob storage before D1 becomes the bottleneck.
How does it handle PII and GDPR?
Self-hosting is the headline answer: data never leaves your infrastructure, so residency and processor questions reduce to where you deploy. On top of that, the usage-event pipeline applies default-redact scrubbing on ingest; fields named like email, token, password, authorization, or cookie are stripped from context and properties JSON before storage. Session replays use rrweb, which masks input fields by default and supports per-element block/mask attributes.
Does it support SSO or multi-user dashboards?
Not today. Two auth boundaries ship: a write-only ingest API key for SDKs and a single password for the dashboard. Multi-user, RBAC, and SSO are out of scope and tracked separately. Most teams put the dashboard behind their existing identity proxy, such as Cloudflare Access or Tailscale, in the meantime.
Can I migrate from Datadog, Sentry, or PostHog?
Sentry, PostHog, Honeycomb, and older @obs/* package migrations are covered in the docs. For Datadog, OTLP-native ingest accepts the standard OpenTelemetry SDK over OTLP HTTP, so traces and logs are usually a configuration change; a dedicated walkthrough is tracked separately.
Does it work with my existing OpenTelemetry SDK?
Yes. The collector accepts OTLP over HTTP using JSON or protobuf, with gzip. gRPC is intentionally not supported because Cloudflare Workers cannot host it, and OTLP HTTP covers every official SDK. The first-party SDKs are thin wrappers that point the standard OpenTelemetry SDK at the collector and add OpenInference helpers for LLM and tool spans.
Where can I self-host Observability Unified?
Start locally with Docker. For production, choose Cloudflare Workers with D1 and R2, or deploy the Node collector with Postgres and S3-compatible object storage.