Alert: UptimeRobot external monitor¶
Symptom¶
UptimeRobot detected a LastVet public endpoint as DOWN from outside R940. Email and Slack use UptimeRobot's native format (not Alertmanager).
Immediate action¶
- Note which monitor fired (prod API vs staging) from the UptimeRobot alert subject/body.
- Check whether internal Alertmanager also fired (R940 partial outage vs total outage).
# From any host with LAN/Tailscale access
curl -sS -o /dev/null -w '%{http_code}\n' https://api.last.vet/health
curl -sS https://api.last.vet/health
ssh lastvet-edge 'systemctl status caddy --no-pager'
ssh lastvet-api 'systemctl status lastvet-api-prod lastvet-api-staging --no-pager'
Diagnosis¶
| Pattern | Likely cause |
|---|---|
| UptimeRobot DOWN, internal alerts firing | Service failure inside R940 (API, Caddy, DB) |
| UptimeRobot DOWN, no internal alerts | R940 total outage, Cox WAN, DNS, or Cloudflare edge issue |
| UptimeRobot only on staging | Staging-specific deploy or config |
| False positive after Caddy reload | Wait for UptimeRobot UP recovery; tune threshold if repeated |
Also check:
- Cox modem / WAN at home site
- Cloudflare DNS and proxy status for
api.last.vet - Proxmox host power (pve-r940)
Escalation¶
Ryan immediately if prod API monitor is DOWN and veterans are active on the platform.
UptimeRobot dashboard¶
https://dashboard.uptimerobot.com/monitors
Resolution history¶
| Date | Notes |
|---|---|