StatOSS

Website uptime monitoring

Your site requested every minute, every failed request shown on a public page with its time and reason, and an email when it goes down and when it is back.

northwind.statoss.comPublic page

Northwind is up.

The monitor is responding, 2 failed checks in the last 24 hours.

Website

Up for 7 h 6 min99.86% passed

1,438 checks, median 137 ms, 2 timeouts

95% under 199 ms

  • Timed out2 min, 2 checks
A website monitor over the last 24 hours, with made-up data. Two timeouts at 02:50 UTC are the amber bars, and the list under the strip names them. One success later and the monitor is up again; the marks stay.

How the check works

StatOSS requests the URL every minute on Hobby and Pro and every 5 minutes on Free, with a ten-second timeout, from Aarhus and Copenhagen in Denmark, Falkenstein in Germany, Ashburn in the USA, Singapore, and Sydney in Australia. Hobby and Pro can add 7 more, from $4 a month. A check passes when the response arrives in time with a 2xx status. A timeout, a connection or TLS error, or an unexpected status fails it. The response time of every check is kept, so the page shows not only whether the site answered but how fast, and a slow threshold turns a sluggish site into its own state with its own alert.

Redirects, logins, keywords

A URL that is meant to redirect, or to answer 401 behind a login, can be given the exact status it should return. Under Request options a monitor can use HEAD, POST, PUT, PATCH or DELETE, send headers such as an Authorization token, send a body, and require a keyword: the response must contain the text, or must not. A missing or unwanted keyword fails the check like a bad status would, which catches a page that answers 200 with an error message in it.

When it counts as down

A monitor counts as down after two failed checks in a row and as back after one success. Before a failure counts, it is checked again in the same region; only a failure both checks see goes on the record. On Hobby and Pro every other region checks at the same moment, so the page can say down from North America instead of down. A single failed check still appears on the strip with its time and reason, it just does not change the state or send an alert.

Alerts

Each change of state sends one alert: down, and back, with how long it was out. Email is on every plan. Hobby and Pro add Slack, Discord, Microsoft Teams, Telegram, PagerDuty, Opsgenie, Pushover, ntfy and a signed webhook, plus a repeat notice every so many minutes while an outage lasts. Nothing is sent during a maintenance window.

What the status page shows

Every monitor gets a strip on the public page. Each bar is one check, its height the response time; amber marks a timeout and red any other failure. Consecutive failures are grouped into one entry with the time and the reason, and the mark stays there for the whole range. A monitor going down opens an incident on the page by itself and resolves it on recovery.

Setting it up

  1. Create an account and name the status page. On Free the address is assigned from the name; Hobby and Pro pick their own, and Pro can use its own domain.
  2. Add the URL. The Test button requests it straight away and shows the status code and response time, so a mistyped address does not show up as an outage.
  3. Put the page's address in your footer or your docs. It is public from the moment it exists, with a badge, JSON, RSS and Atom next to it.