What it is
Your database, mail server, or SSH endpoint can stop accepting connections, and nothing that speaks HTTP will notice. A TCP probe watches those. It opens a connection to a host and port on a schedule and reports up if the connection is accepted, which makes it the right tool for anything that listens on a port but doesn’t necessarily speak HTTP: a database, a mail server, an SSH daemon, a message broker, or a game server.
An HTTP probe asks whether a URL responded correctly. A TCP probe asks the more basic question: is anything listening on this port, and will it accept a connection?
When to use it
Reach for a TCP probe when
- You’re watching a non-HTTP service: PostgreSQL, MySQL, Redis, SMTP, IMAP, SSH, a game server, or any custom TCP listener.
- You need to confirm a port is open and accepting connections.
- An HTTP probe isn’t an option because the service doesn’t serve HTTP.
Use a different probe when
- The service does speak HTTP and you want to check status codes or latency. An HTTP probe tells you more.
- You want warning before your domain registration expires. That’s the Domain probe.
How it works
Uptimeprobe opens a TCP connection to host:port on your interval. If the connection
is accepted, the check succeeds and records how long it took, then closes. If it’s
refused, times out, or the host won’t resolve, the check fails. A TCP probe never sends
or reads application data. It only confirms the port accepts a connection.
Configuring a TCP probe
Create one from Probes, then Add probe, and pick TCP.
| Field | What it does | Notes |
|---|---|---|
| Name | A label for the probe | Required, 1 to 255 characters |
| Host | The hostname or IP to connect to | Just the host, with no scheme, like db.example.com |
| Port | The TCP port to connect to | Between 1 and 65535 (defaults to 443) |
| Interval | How often to check | 30s, 1m, or 5m |
TCP probes use a 5-second connect timeout. If the connection isn’t established inside that window, the check fails.
How status is determined
Status comes from your recent checks:
- Down: several checks in a row have failed (connection refused, timed out, or the host didn’t resolve).
- Degraded: recent checks are intermittently failing, or connections are running slow.
- Up: the port is reliably accepting connections.
- No data: no recent check has reported, so status is unknown.
Next steps
Create an account and add a TCP probe for each service you depend on. Watching an HTTP service or a domain too? See the HTTP and Domain probes.