Back to Devoured - September 21, 2026
DEVOURED
RADAR: Catch gray failures with anomaly detection

RADAR: Catch gray failures with anomaly detection

DevOps Databricks
Databricks' RADAR system identifies silent 'gray failures' by detecting anomalies in user error metrics, reducing incident discovery time by 95%.
What: RADAR is a four-stage reliability pipeline using the SPOT algorithm to monitor metrics like user errors and alert teams; Databricks provides a scaffold on GitHub to implement this using Delta Lake, MLflow, and AI/BI Genie.
Why it matters: It emphasizes that traditional health checks often miss partial service degradation, requiring more sophisticated, anomaly-based monitoring of user-facing outcomes.
Takeaway: Build a RADAR pipeline by following the GitHub instructions to integrate your metric data with the provided AI-agent scaffold for anomaly detection.
Deep dive
  • Defines gray failures as silent, partial outages that slip past standard 'green' dashboard checks.
  • Uses the SPOT (Siffer et al., KDD 2017) unsupervised streaming model for anomaly detection.
  • Implements a four-stage architecture: reliability metrics, anomaly detection, alerting, and root-cause analysis.
  • Supports native deployment on Databricks via Declarative Asset Bundles (DABs).
  • Enables AI-driven root-cause analysis using AI/BI Genie to explore anomalies in real-time.
Decoder
  • Gray failure: A system state where components fail partially or silently, causing user-visible issues while automated health checks remain status-normal.
  • SPOT: Streaming model for anomaly detection using Extreme Value Theory, which identifies rare, unexpected spikes in data streams without manual thresholds.
Original article
  • Gray failures slip past green dashboards, quietly costing you customers and revenue before anyone notices.
  • RADAR is a four-stage, metric-agnostic pattern — reliability metrics, anomaly detection, alerting, and root-cause analysis — that Databricks runs on itself to catch these failures in minutes, at over 90% precision and 95% faster discovery.
  • You can build the same system on Databricks for any metric — billing, conversion, or model performance — using native components and an AI-agent scaffold.

Some of the most damaging outages are the ones your monitoring never flags: a slice of your customers quietly fails while every health check still reads normal. These "gray failures" leak users and revenue for hours before anyone connects the dots. This post is about catching them early with anomaly detection — how we do it at Databricks with a system called RADAR, and how you can build the same thing for whatever metric matters most to your business. It's written for the people who own service reliability: SREs, platform and data engineers, on-call responders, and the engineering leaders they answer to.

When everything is green but nothing is fine

Picture a normal Wednesday. Keeping a customer-facing service reliable is your job, and every dashboard on your wall is green — CPU healthy, latency fine, servers up, database connected. By every signal your team watches, the system looks perfect.

It isn’t.

  • 9:30 — A routine deploy slips a subtle bug into your checkout flow.
  • 9:35 — One in twenty customers paying by credit card silently fails. After a couple of retries, they give up and leave.
  • 12:40 — The first support ticket lands. It looks like just another mistyped card number, so nobody blinks.
  • 14:20 — Two more tickets arrive on the same issue.
  • 14:25 — Your support lead spots the pattern and escalates.
  • 16:00 — Engineers track down the bug and ship a fix.

For nearly seven hours, your monitoring insisted everything was fine while customers walked and revenue leaked.

What is a gray failure?

That Wednesday is a textbook gray failure. On the surface everything looks healthy; underneath, one specific piece has quietly stopped working — and it hurts customers without ever tripping an alert.

Two things make gray failures so sneaky:

  • They’re partial. It’s not everyone — just one slice, like a single type of credit card. There’s no server crash you’d catch instantly, just a messy middle where most users are fine and one group fails the whole time.
  • They grow. What starts as a handful of affected customers spreads. Left alone, more and more people hit the same wall.

Think of it as smoke behind the wall. From the outside the house looks fine, but inside the damage is spreading — and the longer you wait, the bigger the blast radius. Researchers have a name for the underlying problem, too: Microsoft’s Gray Failure: The Achilles’ Heel of Cloud-Scale Systems calls it differential observability — your failure detectors don’t notice a problem even while your users clearly do.

Why waiting for customer reports fails

Most teams handle gray failures exactly the way that Wednesday played out: they wait for customers to tell them. Customer reports matter — they’re real human pain — but your customers shouldn’t be your monitoring system. Leaning on reports alone has three problems:

  • It’s manual. Someone has to notice the same complaint across a pile of tickets. That’s easy to miss.
  • It’s delayed. By the time enough people complain for anyone to connect the dots, hours or days have passed.
  • It’s silent. Most affected customers never file a ticket at all. They just leave.

Meet RADAR

That’s the idea behind RADAR — Reliability Anomaly Detection, Alerting, and Root-cause analysis. We built it at Databricks to catch gray failures in minutes instead of hours. The name fits: when visibility is low, you don’t wait until something hits you — you scan for weak signals early.

Here’s how we point it at one especially useful signal: user errors.

A gray failure often shows up as a sudden spike in errors that look like the user’s fault. Picture a bunch of users in one region who suddenly can’t spin up a certain type of cluster. Each request fails with INVALID_ARGUMENT - an error that is politely saying, “this one’s on you.”

But when many users hit the same “your fault” error at the same moment, it stops being their fault. It’s ours. That spike is exactly the pattern RADAR is built to catch.

The four stages of RADAR

RADAR turns that instinct into a pipeline with four stages:

  1. Reliability metrics. At every point in time, record two things: how many errors are happening, and how many separate users hit each one. Break it down by error code and region. Now you have a rich set of time series describing the health of your service.
  2. Anomaly detection. Run anomaly detection on each of those series so the system flags anything that looks off — without you hand-tuning a pile of thresholds. We use an unsupervised, streaming model called SPOT, which learns what “normal” looks like from the past 14 days and needs only a single risk parameter instead of manual cutoffs.
  3. Alerting. When something fires, the alerting layer takes over. It enriches the alert with context, filters out what isn’t significant, and dedupes so on-call isn’t buried under copies of the same thing. Then it files a ticket routed to the right engineering team for that error.
  4. Root-cause analysis. Every ticket arrives with anomaly deep-dive details and a link to a dashboard backed by an AI assistant, AI/BI Genie. Whoever’s on call can go straight to figuring out what actually broke, in the least time possible.

What we achieved

Running RADAR on ourselves changed the shape of these incidents. Before, we waited on customer tickets to discover such incidents, leading to days of delay. With RADAR, we achieved a 95% reduction in incident-discovery time, at over 90% precision, with no human needed to spot the pattern. As a result, we are able to keep the blast radius of gray failures contained.

Point RADAR at any metric

Here’s the part that matters most for you: RADAR doesn’t care what the metric is. We happen to point it at user errors, but the same pattern works anywhere a number can quietly go wrong:

  • Financial services — payment and transaction failures, billing anomalies, fraud signals
  • Retail and e-commerce — checkout conversion, cart errors, delivery times
  • Healthcare and life sciences — patient throughput, claims processing
  • Any AI product — model performance and data-distribution drift that shows up before a model visibly breaks

Build it yourself on Databricks

The best news: every piece you need is already on Databricks. Map the four stages to the platform and it looks like this:

  • Reliability metrics — Zerobus for low-latency ingest, Unity Catalog and Metric View for governance, Delta Lake for storage
  • Anomaly detection — MLflow for model training, Model Serving to deliver the model endpoint, and Workflows to orchestrate the recurrent jobs
  • Alerting — Databricks SQL Alerts to fire alerts
  • Root-cause analysis — AI/BI Genie and AI/BI Dashboards

And the whole thing deploys as a single unit through a Declarative Asset Bundle (DAB).

Wiring all those parts together by hand is the annoying bit — so we removed it. We distilled the entire internal RADAR system into a single scaffold: one markdown file that works like a recipe, mapping each part of RADAR to a specific Databricks component (collect and store → a Delta table; detect the anomaly → a job; alert and dedupe → a ticket; visualize → a dashboard).

Then comes the payoff. You bring your own metric — wherever your signal lives — and hand the metric, the scaffold, and a short prompt to an AI agent. It builds the whole RADAR system for you, live on Databricks.

Takeaways

  1. Catch gray failures before they escalate. Green dashboards aren’t proof that customers are okay. Add real-time anomaly detection so a partial, silent failure surfaces in minutes, not days.
  2. Build RADAR on Databricks for whatever metric matters to you. The scaffold, the demo, and the prompt are all public — start from them.

Because the best outcome isn’t a faster response to angry customers — it’s that your customers never have to discover your incidents for you.

Explore all 67 articles in today's digest

Fresh dev news, AI-digested daily. Never miss a trend at devoured.fyi