Feature Deep Dive
Go-Upkeep goes beyond basic uptime checks. This page covers push monitoring, high availability clustering, and the built-in public status page.
Push Monitoring (Heartbeats)
Standard monitoring checks if a website is UP. Push monitoring checks if a background process is alive.
- In the TUI, create a Monitor and toggle Type to PUSH (use arrow keys).
- Set the Interval (e.g., 3600 seconds for an hourly job).
- Save and Edit the monitor to reveal the Push URL.
- Use the URL in your scripts:
backup.shbash
/usr/bin/backup-script.sh && curl "http://monitor-ip:8080/api/push?token=YOUR_TOKEN"If Go-Upkeep doesn't hear from the script within Interval + 5 seconds, it triggers an alert.
High Availability (Clustering)
Go-Upkeep supports Leader/Follower clustering to prevent the monitor itself from being a single point of failure.
| Node A (Leader) | Node B (Follower) |
|---|---|
| Checks Services | Checks Node A |
| Sends Alerts | Idle |
| Accepts Push | Idle |
If Node A stops responding via HTTP, Node B promotes itself to Leader and starts monitoring immediately. See the clustering documentation for full configuration details.
Public Status Page
A lightweight, read-only HTML page showing the status of your services.
- Enable via environment variable:
UPKEEP_STATUS_ENABLED=true - Access at:
http://your-ip:8080/status - JSON data available at:
http://your-ip:8080/status/json