Skip to content

Custom Monitor States

Custom monitor states let you define org-wide states beyond the built-in Up, Down, and Degraded. This is useful when your monitors need to represent conditions like “Rate Limited”, “Maintenance Mode”, or “Partially Available”.

Each custom state has the following properties:

PropertyDescription
NameA human-readable label (e.g., “Rate Limited”).
Health ClassOne of: healthy, degraded, or unhealthy.
SeverityThe alert severity associated with this state.
ColorA display color used in the dashboard and status pages.

Custom states are defined at the organization level, so all monitors in the org share the same set of available states.

The three built-in states, Up, Degraded, and Down, cannot be deleted or renamed. They serve as the default states for all monitors.

  1. Navigate to Settings > Monitor States.
  2. Click New State.
  3. Enter a name, select a health class, set the severity, and choose a color.
  4. Click Save.

The new state is now available across all monitors in your organization.

Match rules are per-monitor rules that map HTTP response conditions to custom states. Rules are evaluated in order, and the first matching rule wins. If no rule matches, the monitor falls back to the default built-in state logic.

  1. Open the monitor edit form.
  2. Scroll to the Match Rules section.
  3. Click Add Rule.
  4. Define the condition and select the target state.
  5. Drag rules to reorder them. The first match wins.
  6. Click Save.
Condition TypeOptions
Status CodeExact match (e.g., 429) or range (e.g., 500-599).
Body MatchContains, not_contains, or regex match against response body.
Header MatchMatch a specific response header name and value.

You can combine multiple conditions in a single rule. All conditions in a rule must match for the rule to apply.

Consider an API monitor where you want to distinguish rate limiting from backend failures:

  1. Rule 1: If status code is 429, set state to “Rate Limited” (health class: degraded).
  2. Rule 2: If status code is 503, set state to “Backend Issue” (health class: unhealthy).
  3. Default: If no rules match, the standard Up/Down/Degraded logic applies.

With this configuration, your team gets precise visibility into the type of failure, not just that something is wrong.