SiteBrief/Documentation

TCP & DNS Monitoring

Monitor any TCP port or DNS record — not just websites. Catch broken mail servers, databases, DNS changes, and more.

TCP port monitoring

TCP monitoring checks whether a specific port on a server is open and accepting connections. Unlike HTTP checks, it doesn't care about response content — it only verifies that something is listening on that port and can complete a TCP handshake.

Use TCP monitoring for any service that isn't a standard website: mail servers, database servers, game servers, SSH, FTP, or any custom service running on a specific port.

ServiceCommon portsWhat TCP monitoring tells you
HTTPS443Web server is up (without checking SSL)
SMTP email25, 587Mail server is accepting inbound mail
SMTPS465Secure mail submission is working
MySQL3306Database is accepting connections
PostgreSQL5432Database is accepting connections
Redis6379Cache server is up
SSH22Server is accessible via SSH
FTP21FTP server is up
CustomAnyAny service on any port

Setting up TCP monitoring

When adding or editing a site, select TCP as the check type. Then:

  • Set the URL/hostname to the server's hostname or IP (no http:// prefix)
  • Set the TCP port to the port you want to monitor
ℹ️
Note:SSL certificate tracking and PageSpeed are not available for TCP monitors. Only uptime and response time are tracked.

A TCP check is marked down if:

  • The connection is refused (port closed or service not running)
  • The connection times out (30 seconds)
  • DNS resolution of the hostname fails

DNS monitoring

DNS monitoring periodically resolves a DNS record and compares the result to an expected value. You get alerted if the record changes or stops resolving — useful for catching misconfigured DNS, hijacked domains, or broken mail records.

Record typeExample expected valueCommon use case
A1.2.3.4Verify server IP hasn't changed
AAAA2001:db8::1IPv6 address monitoring
CNAMEmysite.netlify.appVerify CDN/hosting CNAME is correct
MX10 mail.example.comMail server record is present
TXTv=spf1 include:example.com ~allSPF record integrity check
💡
Tip:Monitor your MX and SPF records if email deliverability matters to your client. A changed MX record can silently break all incoming email.

Setting up DNS monitoring

  • Select DNS as the check type when adding a site
  • Set the URL field to the domain name (e.g. example.com)
  • Choose the DNS record type (A, AAAA, CNAME, MX, TXT)
  • Enter the expected value exactly as the record should resolve to

The check fails (and an alert is sent) if the DNS query returns a different value, or if the record doesn't exist at all.

⚠️
Warning:DNS records can have multiple values (e.g. multiple A records for load balancing). SiteBrief checks whether the expected value is amongthe returned records — not that it's the only one.

Ping (ICMP) monitoring

Select Ping as the check type to send ICMP echo requests (pings) to a server. A ping check only verifies that the server is responding at the network level — the response time is the round-trip time (RTT).

Use ping when you want the simplest possible check: "is this IP address reachable?" It doesn't tell you anything about services running on the server.

ℹ️
Note:Some servers and firewalls block ICMP packets. If ping monitoring shows a site as "down" but you know the server is reachable, the server may be blocking ICMP. Use TCP monitoring on port 80 or 443 instead.

Use cases & examples

Client has a transactional email service (SMTP)

config
Check type: TCP
Hostname:   mail.client.com
Port:       587
Interval:   5 minutes

Verify a domain wasn't hijacked (A record)

config
Check type:      DNS
Domain:          client.com
Record type:     A
Expected value:  104.21.55.123

Monitor a PostgreSQL database server

config
Check type: TCP
Hostname:   db.client.internal
Port:       5432
Interval:   1 minute (Agency plan)

Frequently asked questions

Can I monitor a server by IP address instead of hostname?
Yes. Enter the IP address in the URL/hostname field for TCP and Ping checks. DNS checks require a domain name.
Does TCP monitoring check if the service is working correctly, or just that the port is open?
Only that the port is open and accepts a TCP connection. It doesn't speak the application protocol. For example, a MySQL monitor would detect if MySQL stopped running, but not if queries are failing. For deeper checks, use a keyword or JSON assertion on an API health endpoint instead.
My DNS record has a low TTL and changes frequently — will that trigger false alerts?
Yes. Set the expected value to match the current record. If the record legitimately changes (e.g. during a failover), update the expected value in your site settings immediately to avoid false alerts.
Is there a way to monitor multiple ports on the same server?
Yes — add a separate site entry for each port. You can name them descriptively (e.g. "client.com — SMTP" and "client.com — HTTPS").