← Back to documentation

uptime-monitoring-setup

UptimeRobot US Monitoring Setup

Overview

This guide configures UptimeRobot to monitor BuyWhere's API and homepage from US locations with 5-minute check intervals and Slack/email alerting.

UptimeRobot Dashboard

URL: https://uptimerobot.com/dashboard

Step 1: Create Free Account

  1. Go to https://uptimerobot.com
  2. Click "Sign Up Free"
  3. Use email: ops@buywhere.ai
  4. Verify email and set password

Step 2: Add Monitors

After login, add the following monitors:

Monitor 1: API Health Endpoint (US)

FieldValue
Friendly NameBuyWhere API - US
TypeHTTP(s)
URLhttps://api.buywhere.ai/health
Monitoring Interval5 minutes
Monitoring LocationsSelect only US locations: US East (New York), US West (San Francisco)
HTTP Status Codes200
Alert Contactsops@buywhere.ai, Slack: #alerts

Monitor 2: Homepage (US)

FieldValue
Friendly NameBuyWhere Homepage - US
TypeHTTP(s)
URLhttps://buywhere.ai
Monitoring Interval5 minutes
Monitoring LocationsSelect only US locations: US East (New York), US West (San Francisco)
HTTP Status Codes200
Alert Contactsops@buywhere.ai, Slack: #alerts

Step 3: Configure Alerts

Email Alerts

  • Add alert contact: ops@buywhere.ai
  • Alert when: Monitor goes down, then every 15 minutes until up

Slack Alerts

  1. In Slack, create incoming webhook for #alerts channel
  2. In UptimeRobot, go to Settings → Alert Contacts → Add Alert Contact
  3. Select type: Slack
  4. Paste webhook URL: https://hooks.slack.com/services/YOUR/WEBHOOK/URL
  5. Alert format:
{
  "channel": "#alerts",
  "username": "UptimeRobot",
  "icon_emoji": ":warning:",
  "attachments": [{
    "color": "#ff0000",
    "title": ":warning: {{monitor.friendlyName}} is DOWN",
    "title_link": "{{monitor.url}}",
    "text": "Status: {{monitor.status}\nURL: {{monitor.url}}\nTime: {{monitor.datetime}}",
    "fields": [
      {"title": "Monitor", "value": "{{monitor.friendlyName}}", "short": true},
      {"title": "Status", "value": "{{monitor.status}", "short": true}
    ]
  }]
}

Step 4: Create Status Page

  1. Go to https://uptimerobot.com/dashboard → Status Pages
  2. Click "Add Status Page"
  3. Configure:
FieldValue
Status Page NameBuyWhere Status
Subdomainstatus.buywhere.ai (or use UptimeRobot's hosted page)
Monitors to includeSelect all monitors
Sort MonitorsBy Status
  1. Copy the status page URL for sharing with team

Hosted Status Page URL: https://stats.uptimerobot.com/YOUR_DASHBOARD_ID

Step 5: Update This Document

After setup, update the table below with actual values:

MonitorStatus Page IDMonitor ID
API Health - USTBDTBD
Homepage - USTBDTBD

Status Page URL: TBD

Configuration Status (BUY-3415)

ComponentStatusNotes
UptimeRobot monitors⚠️ PendingScript ready at scripts/uptime_robot_setup.py
Better Stack monitors⚠️ PendingAlternative to UptimeRobot
Prometheus Blackbox✅ ActiveMonitors api.buywhere.ai, buywhere.ai, us.buywhere.com
Alert routing✅ ActivePagerDuty + webhooks configured
Status page⚠️ PendingCreate after monitor setup

Launch Day Verification Checklist

  • UptimeRobot or Better Stack monitors active for api.buywhere.ai and buywhere.ai
  • Alert contacts configured (ops@buywhere.ai, PagerDuty, Slack #alerts)
  • Status page created and accessible
  • Slack webhook integration tested (if using Slack alerts)
  • Prometheus Blackbox alerts routing verified
  • External monitoring agrees with internal monitoring (no split-brain)

Launch-Day Verification Checklist (BUY-3415)

Confirm all monitors are active before launch:

  • api.buywhere.ai/health monitor active (UptimeRobot or Better Stack)
  • buywhere.ai (main homepage) monitor active
  • Alert contacts configured (ops@buywhere.ai, PagerDuty, Slack #alerts)
  • Status page created and accessible
  • Slack webhook integration tested
  • Prometheus Blackbox exporters returning metrics
  • Alertmanager receiving alerts from blackbox exporter

Verification

  1. Verify monitors appear in UptimeRobot dashboard
  2. Test alert by manually triggering a monitor pause
  3. Confirm Slack notification received
  4. Confirm status page is publicly accessible

Existing Internal Monitoring

This UptimeRobot setup complements existing internal monitoring:

  • Prometheus/Blackbox: Infrastructure-level monitoring (same datacenter)
  • UptimeRobot (this): External US-based monitoring for customer-facing availability

Both should be used together for complete coverage.