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 dashboard | protocol | Target | Up when | Page |
|---|---|---|---|---|
| HTTPS | https | URL | The status code is expected, and the keyword matches if set | HTTP and HTTPS |
| HTTP | http | URL | The status code is expected, and the keyword matches if set | HTTP and HTTPS |
| Ping | icmp | Host name or IP address | At least one ICMP echo reply arrives | Ping |
| TCP | tcp | host:port | The port accepts a connection | TCP |
| DNS | dns | Domain name | The record resolves, and matches the expected values if set | DNS |
| SMTP | smtp | host or host:port | The server sends 220, accepts EHLO and, by default, STARTTLS | Mail servers |
| IMAP | imap | host or host:port | The server greets with * OK or * PREAUTH | Mail servers |
| POP3 | pop3 | host or host:port | The server greets with +OK | Mail 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
- In the sidebar, select Monitors.
- Select Create monitor.
- Under Type, select the monitor type.
- In Target, enter the target in the format of the type.
- Set the Name, Interval and Primary region.
- 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:
| Setting | API default | Dashboard default |
|---|---|---|
enabled | true, the monitor starts at once | Select Create and start or Create paused |
timeout | 30 seconds | 10 seconds |
max_redirects | null, up to 10 redirects | 3 |
certificate_check_enabled | false | On for monitors that use TLS |
Settings of every monitor
| Setting | Values | Default |
|---|---|---|
| Name | Up to 255 characters. Shown in the dashboard, alerts and status pages. | Filled in from the target |
| Interval | 30 seconds, 60 seconds, 2, 3, 5, 10, 15 or 30 minutes, 1 hour | 5 minutes |
| Timeout | 1 to 60 seconds. A check that takes longer fails. | 10 seconds in the dashboard, 30 seconds in the API |
| Primary region | Europe, North America, Asia, Oceania | Europe |
| Project | Any project of the team | The default project |
| Alerting | Default routing or Specific paths | Default routing |
The plan sets the shortest interval:
| Plan | Shortest interval |
|---|---|
| Trial | 30 seconds |
| Starter | 60 seconds |
| Team | 30 seconds |
| Business | 30 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.
| Trigger | Fires when | Severity |
|---|---|---|
| Monitor is down | A check fails, and a second check from the same region about 5 seconds later also fails. Always on. | critical |
| Slow responses | The response time is above a threshold. Off by default. See Performance. | high or medium |
| Certificate problems | The TLS certificate expires soon, expired or is not valid. See Certificates. | medium or critical |
| DNS answer changes | The 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
| State | Meaning |
|---|---|
| Pending | Spectate has not checked the monitor yet. |
| Up | The latest check succeeded. |
| Down | A check failed, and a second check from the same region about 5 seconds later confirmed the failure. |
| Paused | A 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:
| Tab | Shows |
|---|---|
| Overview | Uptime for 30 days, 7 days and 24 hours, response time for 24 hours, recent failures and the downtime report |
| Performance | Response times with average, p50, p95 and Apdex, and the request phases of HTTP checks |
| Heartbeats | Daily uptime for 30 days and the check log of the last 24 hours |
| Certificate | The TLS certificate chain. Only for monitors that use TLS. |
| Settings | All 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.