Stark Informatics
Home · Accelerators · Real-Time Anomaly Detection
Real-Time accelerator

Real-Time Anomaly Detection

An end-to-end Fabric streaming pattern: ingest from Event Hubs or Kafka, land in an Eventhouse, score with KQL anomaly functions, alert through Activator and Teams. Ship live monitoring in days.

StackEventstream + Eventhouse + Activator
LanguageKQL + JSON
Deploy time2–3 days
Throughput tested25K events/sec
LicenseCommercial

Five years ago "real-time anomaly detection" was a six-month engineering project. With Fabric it's a few hundred lines of KQL plus some Activator rules. This accelerator gives you the exact pattern we deploy on manufacturing OEE, application observability, and security telemetry use cases — wired together and battle-tested.

Drop in your source, point KQL at the right columns, tune the dwell windows, and you have an alerting system within the week.

Who this is for

  • Engineering teams who already have an event source (Event Hubs, Kafka, Application Insights, IoT Hub) and want to act on it inside Fabric instead of building yet another streaming stack.
  • SRE/ops teams who want to replace a brittle Logic Apps or custom alerting chain with KQL + Activator.
  • Manufacturing IT teams who need OEE drift detection across sites.
  • Security teams piloting Fabric for telemetry that currently lives in Sentinel/Splunk.

You need familiarity with KQL or willingness to learn it (it's worth the investment). You do not need to be a streaming expert — the accelerator does the heavy lifting.

What's in the box

A full streaming stack: ingest, store, detect, alert.

FileTypeWhat it does
infrastructure/eventhouse_deploy.ps1PSProvisions Eventhouse, KQL DBs (raw + curated), retention & caching policies.
infrastructure/eventstream.jsonJSONEventstream definition: Event Hubs/Kafka source, inline transforms, Eventhouse destination.
kql/01_ingestion_mapping.kqlKQLTable schemas + JSON ingestion mappings + update policies for raw → curated.
kql/10_spike_detection.kqlKQLFunction: sudden-spike detection using series_decompose_anomalies over rolling windows.
kql/11_drift_detection.kqlKQLFunction: gradual drift detection comparing rolling means to baseline.
kql/12_missing_data.kqlKQLFunction: detects expected-but-missing events ("heartbeat" pattern).
kql/13_threshold_breach.kqlKQLFunction: static + dynamic threshold breaches with hysteresis.
kql/20_materialized_views.kqlKQLPre-aggregated views for sub-second dashboard tile queries.
activator/rules.jsonJSONFour Activator rules wiring the KQL functions to Teams + Power Automate destinations.
dashboard/realtime-monitor.jsonJSONReal-Time Dashboard with live tiles, time-bound filter, drill-through.
powerbi/historical-trends.pbixPBIXCompanion Power BI report on the OneLake mirror of your KQL data.
tools/event_generator.pyPythonSynthetic event generator for testing: spike, drift, gap patterns. Feeds Event Hubs.
docs/RUNBOOK.mdMDOperations runbook: tuning thresholds, suppressing alert storms, replay strategy.
docs/KQL_PRIMER.mdMDJust-enough KQL guide for teams new to the language.

The four detection patterns

  • Spike. Sudden surges (3+ standard deviations from the rolling mean). Catches incidents, attacks, viral events.
  • Drift. Gradual shifts over hours or days. Catches slow degradations, calibration loss, behavior change.
  • Missing. Heartbeats that didn't arrive. Catches silent failures — the most dangerous kind.
  • Threshold breach. Static or dynamic thresholds with hysteresis to prevent flapping. The simple-but-essential case.

Every pattern includes a dwell window so single-point spikes don't fire pages, and a quiet period after firing to prevent storms.

Pricing

Individual
$799
1 developer · personal projects
Buy individual
Site
$7,999
Unlimited developers, one org · lifetime updates
Buy site

Frequently asked questions

Does it require my source to be Event Hubs or Kafka?
Those are the templates we ship. Eventstream supports many other sources (IoT Hub, CDC, custom HTTPS). The KQL detection logic doesn't care about the source — only the events in the table.
What if my events are non-numeric (text, categorical)?
The threshold and missing-data patterns work on any column. Spike and drift need a numeric metric to score. We include patterns for both.
How are alerts delivered?
Out of the box: Teams channel post and Power Automate trigger. Power Automate gives you flexibility to route to PagerDuty, Jira, ServiceNow, anywhere.
Does it survive the Eventhouse autoscaling?
Yes. The KQL functions are stateless against the underlying tables; autoscale is invisible to them.
What's the smallest F-SKU this needs?
F8 is a practical minimum for a single Eventhouse handling ≤ 5,000 events/sec. F16+ for higher throughput. The Capacity Calculator can size your specific load.
Refund policy?
Full refund within 14 days, no questions asked.

From "we should alert on this" to "alerts firing" in a week

That's the gap this accelerator closes.

Buy team license — $2,499 Watch a 5-min demo