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 ServicesChecks Node A
Sends AlertsIdle
Accepts PushIdle

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