Monitors

How monitors work — scheduling, timeouts, retries, tags, pausing, and alert routing.

A monitor is one recurring check against one target. Every monitor has a name, a type, a target, and the shared scheduling options below. The first check runs immediately after you save; the in-process scheduler then re-checks on your interval.

Shared configuration

FieldAllowed valuesDefaultNotes
intervalSeconds10, 30, 60, 300, 900, 360060How often the check runs
timeoutSeconds1–6010Per-attempt timeout
retryCount0–51Extra attempts before a check counts as failed
tagsup to 16 per monitorLowercase letters, digits, hyphens; max 32 chars each
channelIdsany notification channelsnoneWhich channels get alerted for this monitor

Retries

When a check fails, PingBoard retries up to retryCount more times, immediately, within the same cycle. As soon as one attempt comes back up, the cycle succeeds. Only if every attempt fails is the heartbeat recorded as down — so a single dropped packet doesn't page you.

Timeouts

The timeout applies per attempt. An HTTP check that hangs is aborted after timeoutSeconds; a ping check passes the same value to the system ping as its deadline. Slow-but-alive targets can read as down if the timeout is tighter than their real latency — raise it before you raise the interval.

Up, down, degraded

Checks resolve to one of three statuses:

  • up — everything passed.
  • down — the check failed. Opens an incident and fires notifications.
  • degraded — a warning state (SSL/domain expiry approaching its warning threshold, or a domain whose expiry couldn't be verified). Degraded shows amber on the dashboard and status pages but does not open an incident or send alerts.

Incidents are pure down→up transitions: a down result with no open incident opens one; an up result closes it and sends the "is UP" recovery notification. See Notifications.

Pause and resume

Pausing a monitor stops its scheduler entry — no checks run, no heartbeats are recorded, no incidents open. Push monitors that are paused acknowledge incoming heartbeats but ignore them. Resume picks the schedule back up with an immediate check.

For planned downtime, prefer a maintenance window over pausing: heartbeats keep recording honestly during a window, only the alerting is suppressed.

Tags

Tags are free-form labels for filtering the monitor list. They're normalized to lowercase, so API and api are the same tag.

Per-monitor notification routing

Alerts don't go to "the instance" — they go to the channels linked to each monitor. When you create or edit a monitor, tick the channels that should fire for it. A monitor with no channels linked still tracks uptime and incidents on the dashboard; it just pages nobody. Channels themselves can be disabled instance-wide without unlinking them. See Notifications.

Silencing with maintenance windows

A maintenance window suppresses incident creation (and therefore notifications) for one monitor between startsAt and endsAt. Checks keep running and failures are still recorded — the status page shows the window as the reason. Full details in Maintenance windows.

Testing before you save

The monitor form's Test now button runs your target and config through the real checker once, without saving anything — the result (status, response time, error message) comes straight back so you can confirm before committing. Push monitors can't be tested this way; they're driven by incoming heartbeats, not polled.

Edit on GitHub·Found an issue? Open a PR.