Release candidate: this page describes
410fbfb, which is separate frommain. See version and availability.
Continuous Pulse and Recovery Agent¶
Checks services, sends alerts, and runs the recovery you configure.
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 server binary.
The current application includes a read-only dashboard, an HTTP API, and the cpractl command-line client. These guides describe the durable implementation candidate. See release notes for its source revision and outstanding evidence gates.
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.
-
Follow an incident
Set failure and healthy-check thresholds. Send notifications to individual destinations or reusable groups.
-
Configure recovery
Trigger a Docker or webhook action, or build in Kubernetes, AWS, and systemd support.
-
Inspect the process
Use the dashboard, CLI, API, and Prometheus metrics to understand monitor and worker-pool state.
Start with a small deployment¶
Run one process for each monitor configuration. Single-node Raft retains committed incident state by default. Separate CPRa instances do not coordinate ownership. Retain the complete data directory across restarts.
Worker sizing uses Erlang C with an Allen–Cunneen variability adjustment. It estimates mean latency and is augmented by observed percentile feedback; 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.