Uptime, certs, incidents.
In one honest stack.
Probes in all thirty self-hosted anycast regions. Wildcards that renew themselves. Status pages your customers actually trust. On-call rotations that don’t forget who’s holding the pager.
Thirty probes.
One consensus.
Every check runs from seven randomly-selected anycast regions. No outage is real until a quorum agrees. No customer ever gets paged for a flap.
anycast
HTTP · HTTPS · HTTP/2 · HTTP/3
Headers, body, assertions, redirect following, expected status ranges, expected response time, body contains / excludes, JSON path assertions, regex match, latency-per-region.
TCP · UDP · ICMP
Raw port reachability. Connect time. Packet-loss calculation over N-pings. Source-region pinning for path-dependent diagnosis.
DNS
Specific RRSET, expected answer, authoritative vs recursive, NS delegation check, DNSSEC validate, resolver comparison, per-region answer drift detection.
SSL expiry
Certificate chain walk. Days until expiry. Algorithm strength. Revocation. Issuer changed. SANs match.
Keyword
Text in page, text not in page, case sensitivity, regex groups. Ideal for status page scraping or feature-flag validation.
Heartbeat
Expect a ping every N seconds from your cron / worker / queue consumer. Missing heartbeats become incidents.
Playwright synthetic
Full browser rendering, click flows, screenshots-on-fail, video-on-fail, multi-step E2E scenarios with network throttling.
Custom TCP protocols
POP3, IMAP, SMTP, RADIUS, NTP, SNMP, WireGuard handshake, SSH banner, PostgreSQL auth.
Certificate transparency
CT-log watchers alert when a cert is issued for any subdomain — detect rogue issuance before it hits production.
Certificates that
renew themselves.
Wildcards, SANs, ECDSA or RSA, Let’s Encrypt or ZeroSSL. Every cert is issued via DNS-01 against the zone we already host. You never edit a challenge record by hand.
Pages your customers
actually trust.
Custom domain, SSL, branding, dark mode, i18n, component subscriptions, SSO gating, and metric embeds — all in an editor that doesn’t look like 2013.
Incident rooms with
auto-attached runbooks.
Every page opens a war-room channel, pulls the runbook, posts the first diagnostics, and starts the resolution clock. Post-mortem drafts itself.
- 14:18:02probe · iadapi.example.com returned 500 (3/5 quorum)
- 14:18:04relaysIncident INC-4410 created · severity S2
- 14:18:05relaysPaged @mira · primary on-call
- 14:18:12@miraAcknowledged from iPhone · joining war room
- 14:18:30@mirarolling back to v4.7.0 · ci/cd/v1/rollback
- 14:19:47relays2 / 5 probes now green
- 14:20:22relays5 / 5 probes green · INC-4410 resolved
- 14:22:10@miraposted post-mortem draft to Notion
Rotations,
not vibes.
Primary, secondary, weekend, follow-the-sun, holiday overrides, swap requests, shadow rotations for new hires. Relays knows who’s actually holding the pager.
Logs you can
actually read.
Structured JSON in. Indexed by tenant, region, service, request-id, and span-id. Query in seconds, not minutes. No $12,000 ingest bill at month-end.
p50 / p95 / p99
forever.
Your latency histograms, error budgets, and SLO burn rates are PromQL-queryable and exportable via OTLP. Relays is the source of truth, not just a pretty face.