Switching from UptimeRobot? Import your monitors in one click with a read-only API key.Start free →
  1. Home
  2. Monitoring
  3. Port monitoring

TCP port monitoring for databases, mail servers and SSH

Open a TCP connection to any public host and port. If the handshake completes, the service is listening; if it is refused or times out from the confirming regions, you hear about it.

  • 30 monitors free
  • No credit card
  • Failures confirmed from other regions
db.clienta.com:5432TCP connect · handshake only
Up
  • Amsterdam19msopen
  • London28msopen
  • Connect time19 ms
  • Port5432
  • Timeout10 s

Illustrative example

Try it

Check it now, in your browser

No account. Port monitoring: type a target and see roughly what it looks at. Nothing you type is stored.

A browser cannot open raw TCP, UDP or ICMP connections, and the public check API only speaks HTTP(S). So instead of a fake result, here is the command a monitor automates: it runs it on a schedule from several regions and confirms failures.

The result appears here.

Create this monitor

What it checks

What a port monitor looks at

TCP connect

A completed handshake counts as up. Connection refused and timeouts are reported separately in the failure cause.

Connect time

The time to complete the handshake is stored per check, a quick signal for a saturated database host.

Configurable timeout

Set a timeout between 1 and 120 seconds; the default is 30.

Public targets only

Private ranges are refused. For UDP services use the separate UDP monitor, and for certificates use SSL monitoring.

Alerts

Port monitoring: what an alert looks like

The same event arrives as an e-mail, a Telegram message or a Slack card. This is the wording the channels send; the host, times and numbers are made up.

To [email protected]

Subject [DOWN] db.clienta.com:5432 — Connection refused on db.clienta.com:5432

DOWN

db.clienta.com:5432

db.clienta.com:5432 · Connection refused on db.clienta.com:5432 · confirmed from Amsterdam (AMS), London (LON)

ErrorConnection refused on db.clienta.com:5432
Confirmed byAmsterdam (AMS), London (LON)
Since14:02:11 UTC
Targetdb.clienta.com:5432
Next stepCheck the server / hosting panel. Acknowledge so the team knows you are on it.

AcknowledgeOpen incident

Tenium · checked from Amsterdam · 14:02 UTC

Tenium alerts

🔴 DOWN · db.clienta.com:5432 · Connection refused on db.clienta.com:5432 · confirmed from Amsterdam (AMS), London (LON)

TTenium APP 2:02 PM

DOWN · db.clienta.com:5432
db.clienta.com:5432 · Connection refused on db.clienta.com:5432 · confirmed from Amsterdam (AMS), London (LON)

  • Error: Connection refused on db.clienta.com:5432
  • Confirmed by: Amsterdam (AMS), London (LON)
  • Target: db.clienta.com:5432

AcknowledgeOpen incident

Check the server / hosting panel. Acknowledge so the team knows you are on it. · checked from Amsterdam

Port monitoring: e-mail, Discord and Google Chat work on every plan; Slack, Telegram, Teams and Mattermost start on Starter. There are no SMS or voice-call alerts.

Response time

Response time with a threshold

Every check stores how long the response took. Port monitoring: drag the threshold and see when a slow-response alert would have fired.

Response time Threshold illustrative data
Response time with a threshold. Illustrative data. 0255075100 Threshold 90 ms 00:0006:0012:0018:0024:00 Response time (ms)
Rule. Port monitoring: the alert fires when the average of the last 3 checks is above the threshold (Pro and Agency).
Speed

How fast you find out

Pick a plan to see its check interval and how long a failure takes to reach you, including the confirmation round.

Checks every30 s
On average you hear after15 s
At worst90 s
Checks everyConfirmation window (up to 60 s)

Port monitoring: a failure lands at a random moment between two checks, so on average you wait half an interval, and the worst case is a whole interval plus the confirmation window. A single failing region is not enough: all two regions must agree before an incident opens. The other regions are asked straight away, and we allow up to 60 seconds for the answers.

Setup

How to set up port monitoring in 30 seconds

1

Enter the target

Add the host and set the port number, and Tenium fills in a sensible timeout and default confirmation settings.

2

Pick an interval

Fastest check interval: 30 s on Pro and Agency, 1 min on Starter, 5 min on Free. Slower intervals are available on every plan.

3

Choose alert contacts

Choose who is told. Email, Discord and Google Chat work on every plan, Slack, Telegram, Teams and Mattermost start on Starter, webhooks on Pro.

4

Save

The first check runs within seconds. If a check ever fails, other regions re-check it before an incident opens, so one bad route does not page you.

Failure modes

What each error means

This is the text an incident shows in its Error line, the usual cause, and the first thing to look at.

ECONNREFUSEDConnection refused on db.clienta.com:5432

The host is up but nothing is listening on the port: the service crashed or was never started. The fastest failure to diagnose.

Shown as: Connection refused on db.clienta.com:5432

TIMEOUTTimeout after 10 s connecting to db.clienta.com:5432

The SYN got no answer. A firewall dropping packets, an overloaded host, or a security group that lost our checker’s address.

Shown as: Timeout after 10 s connecting to db.clienta.com:5432

EHOSTUNREACHHost unreachable

There is no route to the host: a network outage or a routing change between a region and your provider.

Shown as: Host unreachable

ECONNRESETConnection reset by peer

The host accepted the connection and killed it at once, often a connection limit or a rate-limiting rule.

Shown as: Connection reset by peer

ENOTFOUNDDNS lookup failed for db.clienta.com

The name does not resolve. Check the record before blaming the service.

Shown as: DNS lookup failed for db.clienta.com

Plans

Port monitoring by plan

Free
$0/mo
Starter
$7/mo
Pro
$29/mo
Agency
$59/mo
Available✓✓✓✓
Monitors301003001000
Fastest interval5 min1 min30 s30 s
Regions1222
Custom headers——✓✓
Response-time alerts——✓✓
Escalation to a second contact——✓✓
Status pages1310Unlimited

Full pricing

What a completed handshake proves

A port monitor connects to host:port over TCP and succeeds the moment the three-way handshake finishes. The time that took is stored as the response time, and the socket is closed at once without sending data. That is proof that something accepted the connection, no more. It does not prove that the service behind the port is healthy, that authentication works, or that a query would return rows. A database that accepts connections but is stuck on every query still passes this check.

Be aware that load balancers, reverse proxies and some CDNs accept connections on behalf of a backend that may be dead. If the port you probe terminates at a proxy, the monitor tells you about the proxy. Probe a port on the real machine when you need to know about the real machine.

Refused, timed out, or not found

The failure message is a triage tool in itself:

  • "Connection refused": the host is alive and reachable, but nothing listens on that port. The service crashed or stopped.
  • "Timeout after 10 s connecting to host:port": packets vanish. A firewall drops them, the host is down, or the route is broken. This is also what you see when a security group changes and forgets to allow the checkers.
  • "DNS lookup failed": the name does not resolve from the checker, so look at your records before the server.
  • "Connection reset" or unreachable messages: a device in the path is actively rejecting or has no route.

Ports people actually monitor

Mail: 25, 465 and 587 for SMTP, 993 for IMAP, 995 for POP. A mail server that stops listening produces silence rather than errors for users, so this is often the only warning. Remote access: 22 for SSH, 3389 for RDP. Databases and caches: 3306 for MySQL, 5432 for PostgreSQL, 6379 for Redis, 27017 for MongoDB, but see the next section before exposing them. Games with a TCP listener, such as Minecraft Java on 25565, are a natural fit as well. For anything that talks UDP, use the UDP monitor instead.

Never open a database to the world for a monitor

The monitor must reach the port from the public internet, which tempts people to expose a database or cache to everyone. Do not. Restrict the rule to the addresses on the checker IP list, which are published for exactly this purpose; a firewall rule that allows only those addresses keeps the port closed to everyone else. If that is still too much, monitor the application's own health URL, which exercises the database from inside, and use the port check only for services that are public by design, such as mail and SSH.

The IP list can change as regions are added, so subscribe to its updates or review the rule when you see unexplained timeouts. A good habit is to name the firewall rule after the monitor, so whoever tidies the rules next year knows that removing it will silence a check and not just clean up a list. For SSH specifically, a restricted source rule plus key-only login keeps the exposure small.

Timeouts, intervals and TLS ports

The default timeout is 30 seconds, but a TCP handshake that takes more than 5 to 10 is already a symptom, so most port monitors benefit from a shorter value. Intervals follow your plan: 5 min on Free, 1 min on Starter, 30 s on Pro and Agency. Port monitoring is on every plan.

On a port that wraps traffic in TLS, 465 or 993 for example, the plain check only shows that the listener exists. Add an SSL monitor with the same port to verify the certificate. There is no send-and-expect feature on the TCP monitor, so you cannot test a banner or a protocol conversation; use an HTTP or keyword monitor where the service has a web interface.

Port monitoring questions

Can I check that an SMTP server answers with a banner?

No, the monitor only completes the TCP handshake and closes the connection. It will notice a stopped mail server but not one that accepts connections and then misbehaves.

How is a port monitor different from ping?

Ping asks the operating system whether the host answers, while a port check asks whether a specific service is listening. A host can pass one and fail the other, which is why pairing them quickly narrows down a failure.

What happens if the port is firewalled for everyone except me?

The checkers will time out. Allow the published checker addresses, or monitor something that is already public instead of opening a private service.

Is there a limit on port monitors?

They count toward your plan's total monitors: 30 on Free, 100 on Starter, 300 on Pro and 1000 on Agency.

Start port monitoring free

30 monitors on the Free plan, no card needed, with failures confirmed from other regions (2 regions live today). Upgrade when the client list grows.