Skip to main content
This guide walks you through creating monitors for each supported type. For conceptual background, see Monitoring overview.

HTTP monitors

The most common monitor type. Checks a URL and evaluates response status, body, headers, and timing.

HTTP config options

Adding assertions

Assertions define pass/fail criteria beyond “did the request succeed”:

Authenticated requests

For endpoints that require authentication, store credentials in the Vault and reference them:
Supported auth types: bearer, basic, header, api_key.

TCP monitors

Check that a host is accepting connections on a specific port.

DNS monitors

Verify domain name resolution and record values.
DNS config supports custom nameservers and timeouts:

ICMP monitors

Ping a host to check reachability and measure latency.

MCP Server monitors

Check that an MCP (Model Context Protocol) server starts and responds correctly. Useful for monitoring AI tool servers.

Heartbeat monitors

Passive monitors — your service pings DevHelm instead of DevHelm checking your service. Ideal for cron jobs, background workers, and batch processes.
After creating a heartbeat monitor, you’ll receive a ping endpoint URL. Send a request to it from your job:
Heartbeat monitors cannot have probe regions — they rely on incoming pings from your infrastructure.

Customizing incident policies

Override the default incident policy per monitor:

Next steps

Alerting guide

Route monitor incidents to your team.

Monitoring as Code

Manage monitors in YAML and deploy from CI.