Monitors
Nines supports five monitor types. Each type targets a different failure
mode and reports a status of up, down, or error
after every check.
Monitor types
HTTP Check (http_check)
Sends a configurable HTTP request to a URL and checks the response status code against an expected value. This is the most common monitor type — use it for web endpoints, APIs, and health-check URLs.
- Target — a full URL including scheme, for example
https://api.example.com/health. - Method — HTTP method to use:
GET,POST,PUT, orDELETE. Defaults toGET. - Headers — optional request headers, one per line in
Header: Valueformat (for exampleAuthorization: Bearer token). - Request body — optional body sent with the request (useful with
POSTorPUT). - Expected status — the exact HTTP status code the check must receive. Defaults to
200. Any other status is treated asdown. - Timeout — how long to wait for a response before treating the check as
down. Defaults to 10 000 ms (10 seconds). - Response time — measured end-to-end from request send to last byte received.
- Supports availability SLO and latency SLO (Business and Founder plans).
The check reports down when the response status differs from the expected value,
or when the request times out or fails to connect. HTTP Check does not capture TLS
certificate details for https:// targets — use an SSL Certificate Check for that.
ICMP Ping (icmp_ping)
Sends ICMP echo requests to a hostname or IP address and waits for a reply. Use this to verify network-layer reachability when HTTP-level checks are too high in the stack.
- Target — a hostname or IP address, for example
db.example.com. - Supports availability SLO (Business and Founder plans).
- Latency SLO is not available for ICMP monitors.
SSL Certificate Check (ssl_check)
Connects to a hostname on port 443 and inspects the TLS certificate. Reports
down when the certificate has expired or will expire within the warning
window (default: 30 days).
- Target — a hostname, for example
example.com. Do not includehttps://. - Supports availability SLO (Business and Founder plans).
- Available on Pro plan and above.
TCP Port Check (tcp_check)
Opens a TCP connection to a host and port. If the connection succeeds, the target is
up. If the connection is refused or times out, the target is down.
Use this to monitor any TCP-based service — game servers, databases, message queues — where
an HTTP check is not appropriate.
- Target — host and port in
host:portform, for examplemc.example.com:25565(Minecraft Java Edition),db.internal:5432(PostgreSQL), orcache.internal:6379(Redis). Do not include a URL scheme. - Timeout — how long to wait for the connection to complete before
treating the check as
down. Defaults to 5 000 ms (5 seconds). - Response time — measured from the start of the dial to the moment the connection is established.
- Supports availability SLO (Business and Founder plans).
The check reports down when the connection is refused (port closed), times out
(firewall silently drops the packet), or the hostname cannot be resolved. It does not
send any bytes after connecting — it is a pure reachability probe.
Heartbeat (heartbeat)
Instead of probing an external URL, a Heartbeat monitor waits for your service to
ping Nines. If no ping arrives within the grace period, Nines treats it as down.
Use this for cron jobs, background workers, and scheduled tasks that must run on time.
- Heartbeat URL — a unique URL you copy from the monitor detail page and call (HTTP GET or POST) at the end of each successful run.
- Grace period — how long Nines waits after the expected ping time before opening an incident. Set this to a value slightly longer than the maximum acceptable jitter in your job schedule.
- Supports availability SLO (Business and Founder plans).
Check intervals
The interval controls how frequently each region probes the target. Shorter intervals detect outages faster and give you more data points for SLO calculations, at the cost of slightly more probe traffic to your endpoints.
- 30 seconds — fastest available; requires Business or Founder plan.
- 60 seconds — available on Pro plan and above.
- 5 minutes — available on all plans including Free.
- 10 minutes — slowest available; suitable for rarely-changing targets.
Regions
Each monitor runs its checks from every selected region in parallel. Nines opens an incident only when all selected regions agree that the target is down — this avoids false positives from transient regional network issues.
See Regions for the full list of available regions and guidance on choosing the right set for your deployment.