AperioFlow Start free

Docs Monitoring

Monitors and heartbeats

Monitors in the main menu watches your sites and scheduled jobs. The page has tabs: Your monitors, Add a monitor, Add a heartbeat, Incidents, Maintenance, and for some roles Alert emails, Status pages, Coolify and Webhooks. The tab you are on is part of the page address, so Back and Forward work.

Watch the video: Uptime monitors and heartbeats

Add a monitor

Open Monitors and choose Add a monitor. Give it a name and the address to check, then choose how often. Your plan sets the fastest: every 5 minutes on Free, every 1 minute on Solo and Team.

A monitor can be an HTTP or HTTPS check (the status code you expect, redirects, and a response time above which it counts as slow), or a keyword or API check (a word that must appear, a header, or a value in a JSON answer). There is no separate certificate monitor: every HTTPS monitor also checks the site's certificate. A certificate the browser would not trust counts as a failed check, and when the certificate has 30 days or less left the monitor shows Certificate ending (see When alerts are sent for the warning emails).

Before a monitor is created you tick a box: "I own this website or service, or I am authorised to test it, and I will not use this monitor in a way that overloads it." You can only point a monitor at an address you enter yourself. See the Terms of Service (G8).

The Add a monitor form with Name, Project, Public name and Address boxes, the Address box ringed, the Check every menu, optional checks and the authorisation tick box.
Add a monitor: a name, the address and how often to check it.

Monitor settings

SettingWhat it does
NameYour private name for it, up to 100 characters
Project (optional)When the monitor goes down, an issue is opened in this project so the people on it see it
Public name (optional)A suggestion for the name visitors see if you add it to a status page. Nothing is public until you do
AddressA public http or https address. Private, internal and localhost addresses are refused. Do not put a password, token or other secret in it
Check every1, 5, 10, 15 or 30 minutes, or 1 hour, no faster than your plan allows
Expected statusA status code from 100 to 599. Left empty, any status below 400 passes
Slow after, in millisecondsAbove this the monitor shows as Slow (50 to 60,000)
Open an incident after this many failed checks in a row1 to 10; 2 when left empty
Warn this many days before the certificate runs out1 to 365; 30 when left empty. To change it later, open Certificate warning on the monitor's row
Word or phrase on the pageUp to 200 characters, with The page must contain it or not contain it
API checksA response header that must be present (and optionally its value), and a JSON path (such as data.items.0.name) with the value it must equal

Checks use GET, follow up to five redirects and wait up to 10 seconds for an answer. The page and API checks are judged from the first 256 KiB of the reply, and only pass or fail is kept. Do not put a secret in any of these settings.

The monitors you can have depend on your plan: 10 on Free, 30 on Solo and 100 on Team. Heartbeats and Coolify monitors count towards the same number.

What is checked, and what is kept

Checks run from more than one place (see the Terms of Service, G8, and the Privacy Policy). A failure is confirmed from a second place before it opens an incident, and a recovery is confirmed the same way. Checks cannot reach private or internal addresses.

For each check AperioFlow keeps the time, whether it passed, how long it took, the status code and a short fixed reason. It does not keep the page or API response.

How long things are kept: individual check results 30 days (14 on Free); hourly totals, resolved incidents and alert records for the plan history period (14 days Free, 90 Solo, 12 months Team); alert webhook delivery records 30 days.

Monitor states

StateMeaning
UpThe last check passed
SlowThe last check passed but was slower than the limit you set
Certificate endingThe site works, but its certificate runs out within the monitor's warning days (30 unless you changed it). Renew it before then
CheckingThe last check failed. It is being checked again before anyone is told
DownConfirmed down: the checks failed more than once
MaintenanceA maintenance window is running: checks carry on, but nobody is alerted
PausedPaused by you. It is not checked
WaitingSaved, and waiting for its first check (or a heartbeat's first check-in)
No recent checkNo location has checked it recently, so the result shown is old. Do not rely on it
Off for your planSwitched off to fit your plan. Nothing was deleted; it comes back if the plan allows

Hover over a state to read its explanation. The Checked column says how often it is checked, and Passes when sums up its rules.

The Your monitors tab listing Marketing site as Up, Public API as Down, Customer app as Certificate ending and Nightly backup as a heartbeat, each with how often it is checked and when it passes.
Your monitors, grouped by project, with each one's state and rules.

Incidents and alerts

When a check fails and the failure is confirmed, AperioFlow opens an incident and an issue on the monitor's project. A failure is confirmed by a second look about a minute later; you can ask for more failed checks in a row (up to 10) on a monitor, to avoid being told about a brief blip. When it recovers, both close. You can be told by email, by web push and by a signed webhook: once when it goes down and once when it recovers. Alert emails are service messages to members of your organisation and carry no marketing.

An alert webhook address is outside AperioFlow, so add only one you control or trust (Terms, G8).

Use a maintenance window to silence alerts while you work. Incidents, maintenance and alerts covers all of this in detail.

Heartbeats: cron jobs and backups

Create a monitor of type Heartbeat. It gives you a secret address. Have your job call that address when it finishes, for example by adding curl -fsS <the address from the monitor> > /dev/null as the last line of the script.

Set how often it should call and a grace period. If a call does not arrive in time, an incident opens; the next call closes it. Treat the address like a password. Only a hash of it is stored.

  1. Choose Add a heartbeat.
  2. Give it a Name (for example "Nightly backup"), and optionally a project and a public name.
  3. Choose It should check in every: 1 minute, 5 minutes, 15 minutes, 1 hour, 6 hours, 1 day or 7 days.
  4. Set the Grace period in seconds: how late it may be before it counts as missed (300 when left as it is).
  5. Choose Add heartbeat, then Copy address. The address is shown once only.

The job can call the address with GET or POST; nothing is sent back to your server.

The Add a heartbeat form with Name, Project, Public name, the It should check in every menu and the Grace period box.
Add a heartbeat for a cron job or a backup.

Pause, delete and organise monitors

  • Pause stops checking a monitor (and closes an open incident); Resume starts again.
  • Delete removes a monitor after you confirm. Its address stops being watched.
  • To put monitors in a project, tick them, choose the project under Move ticked monitors to a project and choose Move (up to 100 at once). Monitors with a project are grouped under it.

Monitor settings cannot be changed on the page. To change one, add a new monitor and delete the old one, or change it through the API with PATCH /api/monitors/{id} (see API: monitors, alerts and Coolify).

Members, admins and owners can add, pause, move and delete monitors. Viewers can see them.

Coolify

Give AperioFlow a read-only Coolify API token and it can find your applications and databases, watch their state, and spot a container that keeps restarting. The token is stored encrypted, is not shown again, and is used only to read state. Create it with read-only permission. Coolify checks are included on Solo and Team.

Coolify only tells AperioFlow what Coolify itself reports about a container, so a container that is running can still be serving errors. Add a web monitor for the same service as well: it checks the address your visitors use. If AperioFlow cannot reach Coolify for a while, that is shown as a single incident about the connection, not as every one of your applications being down. See Coolify for the steps.

Start free All the docs Video guides

Built for the people who write the code and answer the phone when it breaks.

Run from the UK. Hosted in France.

UK time --:--

Already in?Open the app Start free today
View our policies