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.
| Check | Default | Default interval | Intervals you can choose |
|---|---|---|---|
| Uptime | Always on | Every 5 minutes | 30 seconds, 1 minute, 2 minutes, 5 minutes, 30 minutes, 1 hour |
| SSL certificate | On | Every day | 1 hour, 6 hours, 12 hours, 1 day, 1 week |
| DNS nameservers | Off | Every 6 hours | 1 hour, 6 hours, 12 hours, 1 day |
| DNS MX records | Off | Every 6 hours | 1 hour, 6 hours, 12 hours, 1 day |
| Page content | Off | Every 30 minutes | 5 minutes, 15 minutes, 30 minutes, 1 hour, 6 hours, 1 day |
| robots.txt | Off | Every 6 hours | 1 hour, 6 hours, 12 hours, 1 day, 1 week |
| IP & hosting | Off | Every 6 hours | 1 hour, 6 hours, 12 hours, 1 day |
| WHOIS | On | Every week | 1 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 containsDisallow: /, 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.
Related
- DocsFailure reasonsThe stable failure codes OctoPing assigns to a failed check, their labels and the order in which a failure is classified.
- DocsStatusesThe statuses a site and a heartbeat can have in the app and on a public status page, and the order in which the rules apply.
- DocsAdd your first site, alert and status pageAdd a site, get a first alert through the default email notification and publish a status page, using the app's own labels.
- FeatureWebsite uptime monitoring with the cause in every alertCheck client sites as often as every 30 seconds, see why a check failed, and flag slow responses as degraded. Planned work stays out of your uptime numbers.
- GuideMonitor a staging site behind a password or firewallCheck a staging or preview site that asks for a login or sits behind a firewall rule, using Basic Authentication or a secret header.
- GuideCatch a site-wide robots.txt block before it hurts search trafficGet an alert when a client's robots.txt changes, with a plain warning if search engines went from allowed to blocked, and learn what the check does not read.
- GuideGet an alert when a client's site moves to a different hostTurn on hosting checks to hear when a site changes hosting provider or CDN, and see which address changes stay quiet.