Standard conditions
These apply to queries that return a single value.The condition describes the healthy state. For example,
greater_than 10
passes while the value is above 10 and alerts when it drops to 10 or below. To
alert when a value goes above a limit, assert the healthy ceiling instead,
e.g. less_or_equal 10.Examples
Escalation thresholds
A single-value check can carry multiple thresholds, each with its own alert level — warn as a metric approaches a limit, go critical when it crosses it, without creating two checks.- The primary condition alerts at the check’s Alert Level.
- Each escalation threshold is another healthy comparison with an explicit
level (
info,warning,error,critical). - Every threshold describes the healthy state. On each run, all of them are evaluated and the worst violated level wins.
- When a worse threshold is crossed while an incident is already open, the incident escalates: its severity is raised and a fresh alert goes out at the new level (you’re not left assuming it’s still just a warning).
--extra-threshold "less_than:100000:critical"; via MCP pass thresholds.
Grid checks don’t support escalation thresholds.
Custom alert messages
By default the alert/incident text is auto-generated (e.g. “Value 17 is not greater than 1560” or “Extracted value 17 from …”). Set a custom message to replace it with something your responders can act on. It works for any check type — single-value SQL, api_metric, push, grid, http, and heartbeat — and is a property of the check itself, so you can set or change it on its own without touching the condition. The message supports templating, substituted at alert time:run_check still
shows the literal verdict so you can always see the raw comparison.
Set it in the app’s Alerts step, via MCP create_check/update_check with
custom_message (on update_check it’s settable on its own — no need to re-send
the condition; pass an empty string to clear it), or via the CLI with
--alert-message on checks create or checks update.
Grid conditions
Grid checks monitor multiple dimensions at once — useful when you want to watch many stores, regions, services, or endpoints in a single check. Your query must return two columns:name (the dimension) and value (the metric).
greater_than, less_than, greater_or_equal, less_or_equal, equals, not_equals).
Example: every store should have at least 5 orders
all_cells — each cell’s value greater than or equal 5
This fires if any store has fewer than 5 orders in the last 15 minutes. (Use any_cell instead when only one dimension needs to satisfy the condition — e.g. “at least one replica must be caught up”.)