Port Monitoring
Monitor the availability of TCP and UDP services by checking if specific ports are open and responding on your servers.
Overview
Port monitoring verifies that a specific network port is open and accepting connections. This is ideal for monitoring services that don't use HTTP, such as:
- Database servers (MySQL, PostgreSQL, MongoDB)
- Mail servers (SMTP, IMAP, POP3)
- Game servers
- SSH access
- Custom TCP/UDP services
UptimeObserver attempts to establish a connection to the specified port and reports success or failure based on whether the connection is accepted.
Configuration Options
Hostname / IP Address
Enter the hostname or IP address of the server you want to monitor:
db.example.com— Using a hostname192.168.1.100— Using an IPv4 address2001:db8::1— Using an IPv6 address
Use Hostnames
Using hostnames instead of IP addresses makes it easier to update server IPs without modifying your monitors.
Port Number
Specify the port number to check (1-65535):
| Port | Service |
|---|---|
| 21 | FTP |
| 22 | SSH |
| 23 | Telnet |
| 25 | SMTP |
| 53 | DNS |
| 110 | POP3 |
| 143 | IMAP |
| 443 | HTTPS |
| 465 | SMTPS |
| 587 | SMTP (submission) |
| 993 | IMAPS |
| 995 | POP3S |
| 3306 | MySQL |
| 3389 | RDP |
| 5432 | PostgreSQL |
| 5672 | RabbitMQ |
| 6379 | Redis |
| 11211 | Memcached |
| 27017 | MongoDB |
Protocol
Select the network protocol:
| Protocol | Description | Use Case |
|---|---|---|
| TCP | Transmission Control Protocol | Most services (databases, mail, SSH) |
| UDP | User Datagram Protocol | DNS, game servers, streaming |
TCP vs UDP
TCP provides connection-oriented monitoring with reliable detection. UDP is connectionless, so monitoring confirms the port is listening but may not verify the service is fully functional.
Timeout
Set the maximum time to wait for a connection (in seconds):
- Default: 10 seconds
- Recommended: 5-15 seconds for most services
- Slow services: Up to 30 seconds if needed
Common Use Cases
Database Server (MySQL)
Monitor your MySQL database server:
- Hostname:
db.example.com - Port: 3306
- Protocol: TCP
- Timeout: 10 seconds
Database Server (PostgreSQL)
Monitor your PostgreSQL database:
- Hostname:
postgres.example.com - Port: 5432
- Protocol: TCP
- Timeout: 10 seconds
Redis Cache
Monitor your Redis instance:
- Hostname:
redis.example.com - Port: 6379
- Protocol: TCP
- Timeout: 5 seconds
Mail Server (SMTP)
Monitor your outgoing mail server:
- Hostname:
mail.example.com - Port: 587
- Protocol: TCP
- Timeout: 10 seconds
Mail Server (IMAP)
Monitor your incoming mail server:
- Hostname:
mail.example.com - Port: 993
- Protocol: TCP
- Timeout: 10 seconds
SSH Access
Monitor SSH availability:
- Hostname:
server.example.com - Port: 22
- Protocol: TCP
- Timeout: 10 seconds
Game Server
Monitor a game server:
- Hostname:
game.example.com - Port: 27015
- Protocol: UDP
- Timeout: 15 seconds
Custom Application
Monitor a custom service:
- Hostname:
app.example.com - Port: 8080
- Protocol: TCP
- Timeout: 10 seconds
When to Use Port Monitoring
Instead of HTTP Monitoring
Use port monitoring when your service:
- Doesn't speak HTTP (databases, mail servers, SSH)
- Uses a custom protocol
- Needs basic availability checks without HTTP overhead
Alongside HTTP Monitoring
Use port monitoring together with HTTP monitoring to:
- Monitor backend services that support your web application
- Get early warning if database or cache servers go down
- Monitor services on non-standard ports
For Internal Services
Port monitoring is ideal for services that:
- Aren't exposed via HTTP
- Run on non-standard ports
- Need simple up/down availability checks
Security Considerations
Firewall Configuration
Ensure your firewall allows connections from UptimeObserver's monitoring servers. See Bot Documentation for our IP addresses.
Port Exposure
Security Best Practice
Only expose ports that are necessary. For internal services like databases, consider whether they need to be accessible from the internet.
If your service should only be accessible internally:
- Use a VPN or private network
- Restrict access by IP address
- Consider monitoring from within your network instead
Troubleshooting
Connection Refused
The server actively rejected the connection:
- Service not running — Verify the service is started on the server
- Wrong port — Confirm the service is listening on the specified port
- Firewall blocking — Check firewall rules allow incoming connections
Connection Timeout
No response was received within the timeout period:
- Firewall dropping packets — Firewall may be silently dropping connections
- Server unreachable — Check network connectivity to the server
- Increase timeout — The service may be slow to respond
Host Unreachable
The server could not be reached:
- Verify hostname/IP — Ensure the hostname resolves or IP is correct
- Check server status — The server may be down or offline
- Network issues — There may be routing problems between monitoring locations and your server
Service Running But Monitor Fails
- IP restrictions — The service may only accept connections from specific IPs
- Rate limiting — The server may be rate-limiting connection attempts
- Protocol mismatch — Ensure you're using the correct protocol (TCP/UDP)
UDP Monitoring Shows False Positives
UDP is connectionless, which can make monitoring less reliable:
- Use TCP if available — Many services support both protocols
- Verify with application-level checks — Consider additional HTTP monitoring if the service has a web interface
- Accept limitations — UDP monitoring confirms the port is listening but may not detect all failures
Need Help?
If you need assistance configuring port monitoring, reach out using the "Need Help?" button on the bottom right corner or email us at support@uptimeobserver.com.