A clearer path to uptime.
Create a private workspace, add an HTTP monitor, and run a real check. Connect a probe agent for continuous monitoring.
Your first monitor
- Sign in with Google or GitHub and create a workspace.
- Select New monitor and enter a public HTTP or HTTPS URL.
- Test the connection. Redirects are not followed; use the final URL or explicitly expect a redirect status.
- Create the monitor, then select Check to persist a result.
- Inspect the monitor history or connect an always-on probe.
REST API
Create an API key under API keys. Keys are workspace-scoped and carry full access to that workspace. Probe tokens work only on agent endpoints. Treat every token as a secret.
curl "$PROBLEMRANGER_URL/api/v1/monitors" \ -H "Authorization: Bearer $API_KEY"
curl "$PROBLEMRANGER_URL/api/v1/monitors" \
-H "Authorization: Bearer $API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"Production API","url":"https://api.example.com/health","interval_seconds":60,"expected_status":200,"failure_threshold":2,"consensus":1}'GET /api/v1/monitors — List workspace monitors.
POST /api/v1/monitors — Create a monitor.
GET /api/v1/monitors/:id — Monitor and latest checks.
POST /api/v1/monitors/:id/check — Execute and persist a check.
PATCH /api/v1/monitors/:id — Pause or resume a monitor.
DELETE /api/v1/monitors/:id — Remove a monitor and history.
GET /api/v1/incidents — Latest incidents.
PATCH /api/v1/incidents/:id — Update status and add a note.
POST /api/v1/status-pages — Create a public status page.
GET /api/v1/overview — Workspace summary.
GET /api/v1/events — Server-sent workspace snapshots.
Browser sessions supply workspace_id in the query or JSON body. API keys infer their workspace. Every resource operation verifies membership on the server.
Connect an independent probe
Register a probe, choose its region label, and copy the one-time token. Run the Python 3.10+ agent on an always-on host with outbound HTTPS access.
Download probe.pyexport PROBLEMRANGER_URL="https://your-production-host" read -rs -p "Probe token: " PROBLEMRANGER_PROBE_TOKEN export PROBLEMRANGER_PROBE_TOKEN python3 probe.py
The agent requests due jobs, checks public endpoints, submits results, and sends heartbeats. It validates public DNS addresses, verifies original-host TLS, does not follow redirects, and avoids downloading response bodies.
Deployment scope
- Standard Next.js Node runtime and persistent MySQL storage.
- Database-backed Google and GitHub sessions with server-side membership enforcement.
- HTTP/HTTPS monitors, on-demand checks, probe agents, incidents, status pages, API keys, and REST endpoints.
The complete platform roadmap still includes team invitations and role UI, managed global probes, additional check types, on-call and notification delivery, maintenance windows, retention/downsampling, cursor pagination, comprehensive rate limiting, custom status domains, and production legal/capacity review.
Observed uptime is calculated from stored samples, not a contractual SLA. Public status pages omit targets, tokens, and detailed errors.