monitors section of devhelm.yml defines your monitoring checks. Each monitor specifies a type, configuration, assertions, and scheduling.
Monitor fields
Monitor types
HTTP
DNS
TCP
ICMP
Heartbeat
Heartbeat monitors generate a unique ping URL. Your service sends a request to this URL on each run. If no ping arrives within the expected interval plus grace period, an incident is created.
MCP Server
Assertions
Assertions define pass/fail criteria for each check:
Assertion types are snake_case strings on
config.type. Common HTTP assertions include status_code, response_time, header_value, body_contains, json_path, and ssl_expiry. Each type has its own required fields (e.g. status_code needs expected + operator; response_time needs thresholdMs) — devhelm validate reports the exact fields for each type.
Authentication
For monitors that need to authenticate against protected endpoints:
The
secret field references a key from the secrets section or vault.
Incident policy
Control when incidents are created, confirmed, and resolved:Trigger rules
Confirmation
Recovery
Resource groups
Group monitors into composite health views:Next steps
Alert channels
Configure notification channels in YAML.
Tags and secrets
Tags, secrets, and environment variables.