Alert rules
An alert rule watches one decoded metric (or hardware event) and fires when it breaches a condition. Rules are evaluated live, off the ingest path: as the decode worker emits each reading, the alert worker checks it against your rules and, on a breach, records an event and notifies your channels.
Start from a template
The Alert rules screen offers ready-made rules for common failure modes — heap critically low, heap leaking fast, low battery, CPU pegged, stack nearly exhausted, hard fault, watchdog reset, high temperature. Pick one and it fills the form with a sensible metric, operator, threshold, and severity; adjust anything, add a notification channel, and save. The template metrics match the payload-rule templates, so a device set up from a template already emits what they watch.
What a rule is made of
Create and manage rules on the Alert rules screen. Each rule has:
- Metric — the name of a decoded metric (e.g.
heap_free) or a hardware event (e.g.hardfault). An event is evaluated as the value1when it occurs, so you can alert on its presence. - Kind —
thresholdcompares the latest value;ratecompares how fast the value is changing. - Operator + threshold —
gt,lt,gte,lte, oreq, compared against your number. - Scope — a specific fleet, or org-wide (all fleets) when no fleet is set.
- Window — for a rate rule, the span the rate-of-change is measured over; it also sets the per-rule cooldown (see below).
- Severity —
info,warning, orcritical, carried into the recorded event and notifications. - Channels — where a breach is sent:
email,webhook, orslack(each with a target). Webhooks always POST; email sends only when SMTP is configured. Use Send test to fire a one-off message and confirm the channel is wired up before you rely on it.
Threshold vs. rate
A threshold rule fires when the most recent reading satisfies value <operator> threshold. A rate rule fires on the per-minute change of the metric across the window — useful for catching a fast drain or spike before it hits an absolute limit.
# "heap is critically low" → threshold, heap_free lt 8000 # "heap is leaking fast" → rate, heap_free lt -500 (dropping >500/min) # "a hard fault occurred" → threshold, hardfault gte 1
When a rule fires
On a breach the worker records an alert event — shown in the device's Crash / interrupt log and in the Recent alerts feed on the Alert rules screen (an org-wide, newest-first list of what has been firing) — and sends every channel. A per-rule cooldown equal to the window suppresses repeat firings inside that span, so a sustained breach notifies once, not on every frame.
Escalation
A rule can add escalate after N minutes with its own escalation channels. If a breach episode stays active longer than N minutes, the escalation channels fire exactly once for that episode — e.g. notify the on-call webhook only when a warning has persisted, not the moment it appears.
Rules evaluate the decoded stream, so a metric only alerts once your active payload rule produces it — see Payload rules. Toggle a rule off with its enabled switch; disabled rules are kept but never fire. A fired alert can also trigger an autonomous investigation on the Enterprise tier — see the agent.