Getting Started with Cluster Uptime in 5 Minutes: From Zero to Monitored
The fastest way to set up your own monitoring stack. Docker Compose, configuration, and your first check in under 300 seconds.
Stop paying for basic monitoring. A step-by-step guide to exporting your monitors from UptimeRobot and importing them into self-hosted Cluster Uptime.
UptimeRobot has been the default “Free” monitoring tool for a decade. But recent changes to their pricing model (limiting free monitors to 5-minute intervals) have left many developers looking for alternatives.
If you are ready to own your data and get 1-minute checks for free, welcome to Cluster Uptime. Here is how to move your monitors over.
UptimeRobot does not provide a simple “Download CSV” button in the UI. We have to use their API.
curl command:curl -X POST "https://api.uptimerobot.com/v2/getMonitors" \ -d "api_key=YOUR_API_KEY" \ -d "format=json" \ > monitors.jsonNow you have a JSON file with all your monitors.
(If you haven’t already).
git clone https://github.com/ClusterUptime/clusteruptime.gitdocker compose up -dWe wrote a simple migration script (Python) to parse the UptimeRobot JSON and push it to Cluster Uptime’s API.
import jsonimport requests
CLUSTER_UPTIME_URL = "http://localhost:3000/api/monitors"# No auth needed for initial setup, or generate an API Token in Settings
with open('monitors.json') as f: data = json.load(f)
for m in data['monitors']: payload = { "name": m['friendly_name'], "url": m['url'], "type": "http", "interval": 60 # Upgrade to 1 minute! (UptimeRobot Free was 300) }
print(f"Migrating {m['friendly_name']}...") try: r = requests.post(CLUSTER_UPTIME_URL, json=payload) if r.status_code == 201: print("Done.") else: print(f"Failed: {r.text}") except Exception as e: print(f"Error: {e}")If you were using a UptimeRobot status page (e.g., status.example.com CNAME stats.uptimerobot.com), updates your DNS records.
your-vps-ip.nip.io (or your actual domain).You just saved money and gained privacy. Plus, you now have 1-minute check intervals instead of 5-minute. That means you’ll know about an outage 4 minutes faster than before.
Founder
The fastest way to set up your own monitoring stack. Docker Compose, configuration, and your first check in under 300 seconds.
Turn your Raspberry Pi 4 or 5 into an enterprise-grade monitoring station. A complete step-by-step tutorial with Docker Compose.
How does Cluster Uptime stack up against UptimeRobot, Pingdom, and Datadog? We break down the features, costs, and philosophy.
Get uptime monitoring and incident response tactics delivered weekly.