Skip to content

Uptime monitoring

Every uptime monitor in SiteQwality follows the same lifecycle: configure → run on schedule → emit results → trigger notifications on state change. What differs is what the monitor checks.

Check typeWhat it checksUse for
HTTPA URL responds with the expected status, body, and latencyWebsites, APIs, webhook receivers
SSL/TLSA certificate’s expiry, chain, and validityAnything served over HTTPS
DNSA domain resolves to expected recordsApex/subdomain availability
Cron heartbeatA scheduled job pinged on timeBackups, ETL, batch jobs
BrowserA full Playwright script passes in a real ChromiumLogin flows, checkout, multi-page journeys
  • You have a URL that should be 200 OK. Use HTTP checks. You can also opt-in to a paired TLS check (cert expiry) and DNS check (resolver health) on the same monitor.
  • You only care about cert expiry, not whether the site is up. Use SSL/TLS checks. Otherwise, just enable the TLS sub-check on your HTTP monitor.
  • You only care about DNS, not HTTP. Use DNS checks — useful for apex domains where there’s no HTTP server.
  • You have a cron job that should run every N minutes. Use a cron heartbeat — your job pings SiteQwality at the end of each successful run; SiteQwality alerts when it doesn’t.
  • You need to validate a multi-step user flow. Use browser checks — write a Playwright script, SiteQwality runs it on schedule and captures a HAR + video on failure.

By default checks run from aws-us-east-1. Multi-region is paid; available regions:

  • aws-us-east-1 — N. Virginia
  • aws-us-east-2 — Ohio
  • aws-us-west-1 — N. California
  • aws-eu-west-2 — London

Set min_healthy_regions to control how many regions must report healthy before the monitor’s overall status is considered healthy. Set it equal to the region count for unanimity, or to 1 to tolerate any single-region blip.

Check typeMinimum interval (free)Minimum interval (paid)
HTTP60 s30 s
Cron heartbeatn/an/a — driven by your job’s ping cadence
Browser5 min5 min
TLS, DNS (paired with HTTP)inherits HTTPinherits HTTP

Every monitor accepts a tags: string[] field. Use tags consistently — service:api, env:prod, team:platform — and you can:

  • Match maintenance windows to silence by tag.
  • Filter dashboards and alerts by tag.
  • Roll up uptime by service or environment.

Beyond tags, you can attach a monitor to a service (service_id). Services are higher-level groupings — see Services in the dashboard.