Skip to content

Current main: applies to the application at 51a835a. See version and availability for newer candidate work.

CPRa CPRa

Continuous Pulse and Recovery Agent

Checks services, sends alerts, and runs the recovery you configure.

Go · MIT · self-hosted

Run your first monitor Explore the configuration

CPRa (Continuous Pulse and Recovery Agent) is a self-hosted monitoring and recovery agent written in Go. It runs health checks against your services on a schedule, opens and closes incidents against thresholds you set, sends notifications, and executes a configured recovery action when a service fails. It is free software under the MIT license, distributed as a single static binary.

The current application includes a read-only dashboard, an HTTP API, and the cpractl command-line client. These guides describe the source at 51a835a, published to main on 11 September 2026.

What you can do

  • Check a service

    Monitor HTTP, TCP, DNS, TLS certificates, containers, and more. Add database and broker checks with optional build tags.

    Check types and fields

  • Follow an incident

    Set failure and healthy-check thresholds. Send notifications to individual destinations or reusable groups.

    Incident behavior

  • Configure recovery

    Trigger a Docker or webhook action, or build in Kubernetes, AWS, and systemd support.

    Recovery actions

  • Inspect the process

    Use the dashboard, CLI, API, and Prometheus metrics to understand monitor and worker-pool state.

    Dashboard and API

Start with a small deployment

Run one process for each monitor configuration. Incident state lives in memory and resets when the process restarts. Separate CPRa instances do not coordinate ownership.

Worker sizing uses Erlang C with an Allen–Cunneen variability adjustment. It estimates mean latency; actual capacity depends on your targets, intervals, host, and workload. This preview does not establish a million-monitor benchmark, a percentile latency guarantee, or high availability.

Deployment guide · Queueing model · Current changes · FAQ

Follow the latest development

Use versions and availability to choose between these main guides, the durable release candidate, the Go SDK candidate, and the approved management plan. Their implementation and publication states are recorded separately.