Monitors

A monitor checks one thing on a schedule and decides whether it is Up, Down, Slow, Paused or Unknown.

Kinds

KindChecksGood for
HTTP(S)A request and its answer: status code, text, JSON fields, a header, timeWebsites, APIs, health endpoints
TCP portA connection, optionally the first line it sendsSSH, databases, mail, anything with a port
PingICMP echo replies and lossWhole servers
DNSA record from a resolver, optionally containing a valueCatching DNS changes or deletions
TLS certificateThe certificate on any TLS portExpiry on non-web services
HeartbeatThat something called Farsight on timeBackups, cron jobs, scripts

HTTP rules

Secrets are never shown again after saving. They are only sent to the monitor's own scheme, host and port, never on a redirect to somewhere else.

Heartbeats

Make a heartbeat monitor and Farsight gives it a secret URL. Have your job call it when it finishes:

pg_dump ... && curl -fsS https://farsight.example.com/hb/<token>

If no call arrives within the interval plus the grace time, the monitor goes down. A job can also report failure with its own words: curl -fsS -d "disk full" https://farsight.example.com/hb/<token>/fail.

Timing

SettingDefaultMeaning
Interval60 sTime between checks (10 s to a day)
Timeout10 sThe whole check must finish in this time
Confirm after2Failed checks in a row before Down
Retry after10 sAfter a failure, check again this soon
Recover after1Good checks in a row before Up again
Slow above / slow afteroff / 3A good but slow check, so many times in a row, shows Slow

So with the defaults a dead site is confirmed down about a minute and ten seconds after it dies at the latest.

What happens when

Reading what happened

Duplicate

The monitor page's menu has Duplicate: a new-monitor form filled from that monitor, named "<name> copy", not on the status page. Secrets (header values marked secret, passwords, tokens) are never copied; type them again.

Pausing and muting

Pause stops checks entirely (and closes an open incident). Mute keeps checking but holds alerts back for a while, during planned work for example.

Groups, tags and order

Groups organise the dashboard. Tags are free labels for filtering. The public status page uses its own public name and public group so internal names never leak.