Checks reference

What each of the eight checks and heartbeats measures, whether it is on by default, how often it runs and what counts as a failure or a change.

Last reviewed

On this page

A site has 8 checks. Each one has its own switch, its own interval and its own definition of a failure or a change. All of them are included on every site, whatever plan the workspace is on. Heartbeats are a separate kind of monitor for jobs that have no URL, and they are described at the end of this page.

Summary

These are the values a new site starts with.

CheckDefaultDefault intervalIntervals you can choose
UptimeAlways onEvery 5 minutes30 seconds, 1 minute, 2 minutes, 5 minutes, 30 minutes, 1 hour
SSL certificateOnEvery day1 hour, 6 hours, 12 hours, 1 day, 1 week
DNS nameserversOffEvery 6 hours1 hour, 6 hours, 12 hours, 1 day
DNS MX recordsOffEvery 6 hours1 hour, 6 hours, 12 hours, 1 day
Page contentOffEvery 30 minutes5 minutes, 15 minutes, 30 minutes, 1 hour, 6 hours, 1 day
robots.txtOffEvery 6 hours1 hour, 6 hours, 12 hours, 1 day, 1 week
IP & hostingOffEvery 6 hours1 hour, 6 hours, 12 hours, 1 day
WHOISOnEvery week1 day, 1 week, 2 weeks, 1 month

The two DNS checks have separate switches and share one interval. The fastest uptime interval depends on the plan, and the app refuses an interval the plan doesn't include instead of quietly choosing a slower one. See the pricing page for what each plan includes.

Which notification receives what

Each notification has four triggers: Site goes down, Site recovers, Content changes and Hosting changes. Despite its name, Content changes is the trigger for every kind of change alert on this page: page text, DNS, robots.txt, WHOIS and status-code changes. SSL and domain expiry alerts, slow-response alerts and the Partial notice follow Site goes down. A heartbeat's notifications have two triggers, a missed ping and a recovery.

Uptime

Uptime sends an HTTP request to the site's URL at the chosen interval and records the status code and the response time.

  • Success. A final status from 200 up to but not including 400 counts as up, which includes 3xx responses. Redirects are followed, so the status that counts is the final one.
  • Failure. Any other status, and any request that gets no response, counts as down. The reason is classified into one of the codes on the failure reasons page.
  • Response time. The clock stops when the response headers arrive. The body is not part of the measurement, so a large page doesn't read as a slow one.
  • Degraded. Under Advanced request settings, the Response Time Alert Threshold (ms) marks a site Degraded while its latest successful response is slower than the threshold. Leave it empty to turn it off. A slow-response alert also goes to notifications with the Site goes down trigger on, and a response back under the threshold clears the state.
  • Status changes. A change between two successful status codes, such as 200 to 204, sends a status-changed alert to notifications with the Content changes trigger on.
  • Private targets. Custom HTTP Headers and HTTP Basic Authentication are sent with every uptime and content check, from the primary checker and the probe regions, for staging sites and pages behind a firewall rule.

A failed check turns the site Offline once the probe regions back it up or the confirmation wait runs out. The alert is separate and waits for the notification's failure threshold. Both are covered on the statuses page and the vantage points page.

SSL certificate

SSL certificate connects to the site's HTTPS endpoint (port 443 unless the URL names another) and reads the certificate the server presents: issuer, subject, the dates it is valid between, the days left and whether it is currently valid.

  • Default. On, every day. A URL that starts with http:// is skipped. It records no result and isn't treated as an error.
  • Expiry alert. The setting Alert days before expiry defaults to 30. While the certificate is still valid and has that many days or fewer left, the check sends an expiry alert to notifications with the Site goes down trigger on. SSL expiry alerts for a site go out at most once in any 24 hours, to each notification with the Site goes down trigger on.
  • Invalid certificates. A certificate that fails verification (expired, self-signed or otherwise untrusted) is recorded as not valid, with its dates and the verification error when they can be read. It doesn't send the expiring alert. The uptime check reports the same problem as a TLS/SSL failure when it hits it.

DNS: nameservers and MX records

DNS nameservers and DNS MX records look up the records of the registrable domain, not the subdomain. For www.example.co.uk the lookup is for example.co.uk.

  • Default. Both switches are off, with a shared interval of 6 hours.
  • What is compared. The sorted list of nameserver hosts, and the sorted list of mail exchanger hosts. MX priorities aren't part of the comparison.
  • A change. The list differs from the previous result. The first result is the baseline and never counts as a change. A lookup that returns no records is stored as empty and isn't reported as a change.
  • Alert. A change sends a DNS change alert to notifications with the Content changes trigger on.

Page content

Page content downloads the page and compares its readable text with the previous snapshot. It is the only check that stores page bodies.

  • Default. Off, every 30 minutes once switched on.
  • What is compared. For HTML, the main text of the page with scripts, styles and navigation removed and whitespace normalized. JSON and plain text are compared after whitespace normalization.
  • A change. The text differs from the last successful snapshot. A response that isn't successful is never compared, so a short outage doesn't produce a change alert. The first snapshot is the baseline.
  • Alert. A change sends a content-changed alert with a text diff to notifications with the Content changes trigger on.

robots.txt

robots.txt fetches /robots.txt from the site's host and compares it with the previous copy.

  • Default. Off, every 6 hours once switched on.
  • A change. The file's text differs from the previous copy in any way, including whitespace and comments.
  • Indexability. OctoPing marks the site not indexable when the User-agent: * group contains Disallow: /, looking at the 9 lines after the group starts. With no such group the site is indexable.
  • Missing file. A 404 is treated as an indexable site with an empty file. It reports a change only if a previous copy had content. Any other HTTP error fails the check.
  • Alert. A change sends a robots.txt alert that shows the old and new indexability and a diff, to notifications with the Content changes trigger on.

IP and hosting

IP & hosting resolves the site's IPv4 and IPv6 addresses, looks up which network (ASN) owns the address and recognizes the networks of well-known CDNs.

  • Default. Off, every 6 hours once switched on.
  • Hosting changed. The ASN differs from the last result that had one, or the site moved onto or off a CDN, or moved to a different CDN. An address change inside the same ASN is recorded and doesn't alert. A failed ASN lookup is never a change.
  • Alert. A hosting change sends an alert to notifications with the Hosting changes trigger on, which is separate from Content changes.

WHOIS

WHOIS looks up the registration of the registrable domain, using RDAP first and a WHOIS lookup if RDAP doesn't answer. It stores the registrar, the registration, expiry and update dates, the registrant organization and country, the domain statuses, the nameservers and the DNSSEC state.

  • Default. On, every week.
  • Expiry alert. The setting Alert days before expiry defaults to 30. When the domain has that many days or fewer left, the check sends a domain-expiring alert to notifications with the Site goes down trigger on.
  • A change. The registrar, registrant organization, registrant country, nameservers or domain statuses differ from the previous result. A different expiry date alone isn't a change, because every renewal moves it. A change sends a WHOIS alert to notifications with the Content changes trigger on.
  • Lookup failures. Registries limit how often a domain can be looked up, so a lookup can fail. A failed lookup is stored with a message and tried again at the next scheduled check.

Heartbeats

A heartbeat isn't a check on a site. It is a monitor for a job that should call OctoPing on a schedule. Each heartbeat has a secret URL, and a call to that URL counts as a ping.

  • Interval. The expected time between pings: 1 minute, 5 minutes, 10 minutes, 30 minutes, 1 hour, 6 hours, 12 hours, 1 day.
  • Grace period. Extra time allowed after the interval before the ping counts as late. The form offers presets up to 10 minutes and a custom value in seconds.
  • Missed. The deadline is the time of the last ping (the creation time, until the first ping arrives) plus the interval plus the grace period. OctoPing evaluates the deadlines every minute. A heartbeat past its deadline becomes unhealthy and sends a missed alert.
  • Recovery. The next ping makes it healthy again and sends a recovery alert.
  • Maintenance. Inside a maintenance window a heartbeat isn't declared missed, and the deadline restarts when the window ends.
  • Uptime. Heartbeat uptime is the share of expected intervals that contained at least one ping. The grace period isn't part of that calculation.