Skip to main content
Every monitor has an incident policy that controls when incidents open, how they’re confirmed, and when they auto-resolve. A policy has three components: trigger rules, a confirmation policy, and a recovery policy.
Define this in code. Manage incident policies as part of your monitoring-as-code workflow: YAML format · Terraform · CI/CD patterns

Trigger rules

Trigger rules define the conditions that open an incident from check results. Each monitor can have multiple rules at different severities.

Rule types

Scope

Each rule has a scope that determines how regions are evaluated:

Severity

Each rule targets a severity level. When multiple rules fire, the highest severity wins:

Response time aggregation

For response_time rules, the aggregationType field controls how latency is evaluated across checks:

Default policy

When you create a monitor without specifying a policy, DevHelm applies a sensible default:
  • Trigger: 2 consecutive failures per region → severity down
  • Confirmation: Multi-region, 1 region failing, wait up to max(60, frequency × 2) seconds
  • Recovery: 2 consecutive successes, 2 regions passing, 5-minute cooldown

Example

A policy with two trigger rules — one for complete failures and one for performance degradation:

Confirmation

Confirmation prevents false positives by requiring failures from multiple probe regions before promoting an incident to CONFIRMED status. When a trigger rule fires in one region, the confirmation policy waits up to maxWaitSeconds for at least minRegionsFailing regions to also report failures. If enough regions confirm within the window, the incident moves to CONFIRMED and alerts fire. If the window expires without enough regions failing, the incident is discarded.
Set minRegionsFailing to 1 to confirm on the first region that reports a failure. This is useful for monitors running from a single region.

Recovery

Recovery controls when a confirmed incident auto-resolves. The recovery policy ensures stability before closing an incident. After the required consecutive successes are observed across enough regions, the incident moves to RESOLVED. The cooldown period then suppresses new incidents for the same monitor, preventing flapping.

Managing policies

View a monitor’s policy

Policies are read via the API:
API

Update a policy

Update a policy via the API, or declare it in devhelm.yml under the monitor’s incidentPolicy: block:

Next steps

Incidents overview

Understand the full incident lifecycle and statuses.

Monitoring regions

Learn how multi-region checks interact with confirmation policies.

Alerting overview

Configure notifications for confirmed incidents.

Maintenance windows

Suppress incidents during planned downtime.