Skip to main content
Monitoring as Code (MaC) is DevHelm’s approach to managing your monitoring infrastructure as version-controlled, reviewable, deployable code — just like your application.

Why code over clicks

Dashboard (imperative)Monitoring as Code (declarative)
Click through UI formsDefine desired state in a file
Changes aren’t trackedVersion-controlled in Git
Hard to reproduce across environmentsSame config deploys to staging and production
Manual reviews and handoffsPull request review before deploy
One change at a timeAtomic deploys across monitors, channels, and tags

DevHelm’s two workflows

DevHelm supports both imperative and declarative workflows. They serve different needs.

Imperative: “Do this now”

devhelm monitors create --name "API" --type HTTP --url https://api.example.com/health
devhelm incidents resolve 42
The CLI as a management tool. The SDKs as scripting libraries. You interact with DevHelm directly, one command or call at a time. Best for ad-hoc operations, debugging, and automation scripts.

Declarative: “Make it look like this”

version: "1"
monitors:
  - name: API Health
    type: HTTP
    config:
      url: https://api.example.com/health
    frequencySeconds: 60
    regions: [us-east, eu-west]
devhelm deploy -f devhelm.yml
You define what the world should look like, and DevHelm makes it so. Best for production monitoring setups, team-managed configs, and CI/CD pipelines.

Choose your tool

ToolBest forFormat
YAML + CLIFast iteration, standalone monitoring configsdevhelm.yml
TerraformTeams managing cloud infra alongside monitorsHCL (.tf)
PulumiProgrammatic control with full language supportTypeScript, Python, Go
GitHub ActionAutomated CI/CD deploys for any of the aboveWorkflow YAML
Don’t manage the same resource with both YAML and Terraform. Pick one source of truth per resource to avoid drift and conflicts.

The deploy lifecycle

Every MaC deployment follows the same pattern:
1

Validate

Check config syntax offline — no API calls. Catches typos, missing required fields, and schema violations.
2

Plan

Compare your config against the current state. See exactly what will be created, updated, or deleted.
3

Deploy

Apply the changes. DevHelm acquires a deploy lock, executes the plan, and releases the lock.
4

Verify

Check that your monitors are running and assertions are evaluating correctly.

Next steps

YAML file format

Full schema reference for devhelm.yml.

Terraform provider

Manage monitors as Terraform resources.

Deploy workflow

Validate, plan, deploy in detail.

MaC tutorial

Step-by-step guide from scratch.