Uptime monitors

Uptime monitors

A Spectate uptime monitor checks one target, such as a URL, a host, a port or a DNS name, at a fixed interval. When the target stops answering as you expect, Spectate confirms the failure and fires an alert. Every check also records the response time, so you see how fast the target answers over time.

Monitor types

Type in the dashboardprotocolTargetUp whenPage
HTTPShttpsURLThe status code is expected, and the keyword matches if setHTTP and HTTPS
HTTPhttpURLThe status code is expected, and the keyword matches if setHTTP and HTTPS
PingicmpHost name or IP addressAt least one ICMP echo reply arrivesPing
TCPtcphost:portThe port accepts a connectionTCP
DNSdnsDomain nameThe record resolves, and matches the expected values if setDNS
SMTPsmtphost or host:portThe server sends 220, accepts EHLO and, by default, STARTTLSMail servers
IMAPimaphost or host:portThe server greets with * OK or * PREAUTHMail servers
POP3pop3host or host:portThe server greets with +OKMail servers

Spectate does not monitor private, loopback or reserved addresses. If a target resolves to such an address, the dashboard refuses it, or the check fails.

For HTTP and HTTPS, the type sets the scheme. Enter the URL without the scheme, for example example.com/health. Spectate stores it that way. In the public API, uri can also start with the scheme of protocol, for example https://example.com/health. Spectate removes the scheme before it stores the target. A scheme that does not match protocol gives the error 422. See Target format.

Add a monitor

  1. In the sidebar, select Monitors.
  2. Select Create monitor.
  3. Under Type, select the monitor type.
  4. In Target, enter the target in the format of the type.
  5. Set the Name, Interval and Primary region.
  6. Select Create and start.

To add the monitor without checks, select Create paused instead. You can resume it later. Headers, keywords, authentication and alert thresholds are in the monitor's Settings tab after you create it.

You can also add monitors with the public API or the MCP server. The API needs only label, protocol, uri and interval. Some API defaults are different from the dashboard:

SettingAPI defaultDashboard default
enabledtrue, the monitor starts at onceSelect Create and start or Create paused
timeout30 seconds10 seconds
max_redirectsnull, up to 10 redirects3
certificate_check_enabledfalseOn for monitors that use TLS

Settings of every monitor

SettingValuesDefault
NameUp to 255 characters. Shown in the dashboard, alerts and status pages.Filled in from the target
Interval30 seconds, 60 seconds, 2, 3, 5, 10, 15 or 30 minutes, 1 hour5 minutes
Timeout1 to 60 seconds. A check that takes longer fails.10 seconds in the dashboard, 30 seconds in the API
Primary regionEurope, North America, Asia, OceaniaEurope
ProjectAny project of the teamThe default project
AlertingDefault routing or Specific pathsDefault routing

The plan sets the shortest interval:

PlanShortest interval
Trial30 seconds
Starter60 seconds
Team30 seconds
Business30 seconds

If a team moves to a plan with a longer minimum, Spectate raises shorter intervals to that minimum. See Plans and billing.

Primary region sets where all checks of the monitor run. See Locations and checks.

Default routing sends alerts to the escalation paths of the monitor's project. If the project has none, the alerts go to the team default path. Specific paths sends alerts only to the escalation paths you select.

Alerts a monitor fires

The Alerting section of the monitor settings lists the triggers under Alert when.

TriggerFires whenSeverity
Monitor is downA check fails, and a second check from the same region about 5 seconds later also fails. Always on.critical
Slow responsesThe response time is above a threshold. Off by default. See Performance.high or medium
Certificate problemsThe TLS certificate expires soon, expired or is not valid. See Certificates.medium or critical
DNS answer changesThe answer of a DNS monitor changes. Off by default. See DNS.low

A down alert resolves on its own at the first successful check.

Monitor states

StateMeaning
PendingSpectate has not checked the monitor yet.
UpThe latest check succeeded.
DownA check failed, and a second check from the same region about 5 seconds later confirmed the failure.
PausedA member or the system turned the checks off. See Pause and delete.

In the API, enabled tells if the monitor runs, and uptime_status is pending, up or down. A paused monitor keeps its last uptime_status.

What the dashboard shows

The Monitors page lists all monitors with the ones that need attention first. Filter the list by All, Up, Down, Pending or Paused, or search by name, URL or region.

A monitor has these tabs:

TabShows
OverviewUptime for 30 days, 7 days and 24 hours, response time for 24 hours, recent failures and the downtime report
PerformanceResponse times with average, p50, p95 and Apdex, and the request phases of HTTP checks
HeartbeatsDaily uptime for 30 days and the check log of the last 24 hours
CertificateThe TLS certificate chain. Only for monitors that use TLS.
SettingsAll settings, alerting and the Danger zone

The header shows the region, interval, type, timeout and the time of the last check. Export CSV downloads the downtime report of the current month.

For DNS monitors, Overview also shows the latest answer. For TCP and mail monitors, it shows the banner of the server, if there is one.