DataHub

Rules and Alarms

Create detection rules, manage alarms, and configure automated responses.

What you'll do

  1. Create a rule with a detector type and target tag
  2. Add actions (channels) for notifications
  3. Monitor and acknowledge alarms from the console or Operations Center

Rules

Navigate to Rules (/rules) to define conditions that monitor tag values.

Create a rule

  1. Click Add and select the target tag path
  2. Choose a detector type (see table below)
  3. Set type-specific params and optional duration
  4. Add one or more actions (Slack, email, Telegram, HTTP)
  5. Activate the rule

Changes propagate to the rule-worker via datahub.rule.changed — no restart needed.

Detector types (console)

TypeWhen to useConsole tips
THRESHOLDFixed limits (temp, pressure, current)Use expression + optional recover for hysteresis
ANOMALY_ZSCORENoisy signal, unknown limitStart with zThreshold: 3, windowSec: 300
RATE_OF_CHANGESudden jumps or dropsSet maxDelta to your process tolerance
FLATLINESensor stuck at one valueIncrease windowSec for slow processes
GOLDEN_PROFILEDeviation from known-good runRecord a baseline first (see below)
RULTrend toward a failure limitSet limit and horizonSec for early warning

See Rules, alarms, and actions for parameter details.

Rule state

Each active rule has a RuleState row: NORMAL, PENDING, or TRIGGERED. View state on the rule detail page.

Alarms

Alarms (/alarms) lists active and historical alarm events.

Acknowledge an alarm

  1. Open the alarm from the list
  2. Click Acknowledge — requires alarms.acknowledge permission
  3. Add an optional comment

Acknowledged alarms remain visible in history for audit purposes.

Alarm workflow

Rule condition met → Alarm created (ACTIVE)
                  → Actions dispatched
Operator acknowledges → Status updated
Condition clears → Alarm may auto-clear depending on rule config

The Operations Center (/operations) shows a live alarm feed — see Operations Center.

Baselines (golden profile)

Baselines (/baselines) record a known-good telemetry envelope (p05–p95 percentiles) for a tag over a historical time window.

  1. Select plant, tag, and history window
  2. Save the baseline record
  3. Create a GOLDEN_PROFILE rule referencing that tag — live values outside the envelope (plus marginPct) trigger an alarm

Requires maintenance permissions (baselines share the maintenance resource).

This is separate from maintenance work orders — baselines are for anomaly detection, not CMMS measurements.

Tips

  • Start with the demo rule to verify the action pipeline works
  • Use duration / PENDING state to avoid flapping on noisy signals
  • Windowed detectors use RAM per tag — avoid tiny windowSec on kHz tags
  • Test HTTP actions against the webhook sink: GET /api/webhooks/test/log