Skip to content

Heartbeat Monitoring

Beszel can send periodic outbound pings to an external monitoring endpoint (e.g., BetterStack, Uptime Kuma, Healthchecks.io). This allows you to monitor the health of your Beszel instance and the systems it tracks without exposing the hub to the internet.

Configuration

The heartbeat functionality is configured via environment variables:

VariableDescriptionDefault
HEARTBEAT_URLThe external URL to ping. Feature is disabled if empty.(empty)
HEARTBEAT_INTERVALSeconds between pings.60
HEARTBEAT_METHODHTTP method to use (GET, POST, or HEAD).POST

POST Payload Example

When using POST (the default), Beszel sends a JSON payload with detailed status information about your systems and triggered alerts.

Example Payload

json
{
  "status": "error",
  "timestamp": "2026-02-20T14:30:00Z",
  "msg": "1 system(s) down: Production-DB",
  "systems": {
    "total": 5,
    "up": 3,
    "down": 1,
    "paused": 1,
    "pending": 0
  },
  "down_systems": [
    {
      "id": "abc123def456",
      "name": "Production DB",
      "host": "db.example.com"
    }
  ],
  "triggered_alerts": [
    {
      "system_id": "xyz789ghi012",
      "system_name": "Web Server 01",
      "alert_name": "CPU",
      "threshold": 80
    }
  ],
  "beszel_version": "0.18.4"
}

Released under the MIT License