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, or DELETE. Defaults to GET.
  • Headers — optional request headers, one per line in Header: Value format (for example Authorization: Bearer token).
  • Request body — optional body sent with the request (useful with POST or PUT).
  • Expected status — the exact HTTP status code the check must receive. Defaults to 200. Any other status is treated as down.
  • 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 include https://.
  • 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:port form, for example mc.example.com:25565 (Minecraft Java Edition), db.internal:5432 (PostgreSQL), or cache.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.