Table of contents

Checkly has always helped you monitor your APIs and web services, ensuring they stay fast, reliable, and available. But application reliability doesn’t stop there—databases, message queues, and mail servers all play a crucial role in your infrastructure.

To provide full application reliability, we’re expanding into network monitoring with TCP checks. Now, you can monitor critical non-HTTP services directly in Checkly—without adding extra tools to your stack.

tcp check screenshot from dashboard

"TCP checks are working nicely for our use case. We're using them to monitor some of our critical network services," Matt Watkins, Release Engineering Team, The Linux Foundation.

What You Can Monitor with TCP Checks

TCP checks let you verify that a connection can be established, detect failures proactively, and validate server responses. Here are a few examples of how you can use them:

1. Mail Servers (IMAPS, SMTP, etc.)

If you have an e-commerce store that sends order confirmations, shipping updates, and payment reminders via email, this is a feature you could benefit from. Your IMAP server needs to be online at all times to ensure emails are received and processed without delays. With Checkly’s TCP checks, you can continuously verify that the mail server is reachable and accepting connections.

2. Custom TCP Services

Many backend systems communicate using custom TCP protocols instead of HTTP. Take a two-factor authentication (2FA) service that verifies logins via a custom TCP-based protocol. If this service fails, users can’t receive their verification codes, locking them out of their accounts. With Checkly’s TCP checks, you can send predefined requests and verify that the correct response is received, ensuring that your authentication services remain reliable.

3. Firewalls & Network Rules

Security misconfigurations can expose critical services to unauthorized access, which could be the case with banking platforms. If a firewall rule is accidentally removed, sensitive financial data could be exposed. With Checkly’s “should fail” TCP check, you can confirm that restricted ports remain blocked, preventing unauthorized access and ensuring compliance with security policies.

How TCP Checks Work in Checkly

Checkly’s TCP checks integrate seamlessly into your development and monitoring workflow. You can define them via the CLI, Terraform, or Pulumi, making them easy to manage as code from within your repository.

This allows you to define, version-control, and automate TCP monitors alongside all other monitors and integrate them into your CI/CD pipelines.

import { TcpCheck, TcpAssertionBuilder } from 'checkly/constructs'

new TcpCheck('hello-tcp-1', {
  name: 'Hello TCP',
  activated: true,
  maxResponseTime: 5000,
  degradedResponseTime: 4000,
  request: {
    hostname: 'tcpbin.com',
    port: 4242,
    data: 'ping\n',
    ipFamily: 'IPv6',
    assertions: [
      TcpAssertionBuilder.responseTime().lessThan(1000),
      TcpAssertionBuilder.responseData().contains('ping')
    ]
  }
})

Advanced Features for Better Monitoring

TCP checks go beyond basic connection testing. They provide:

  • Data Exchange & Assertions – Send custom requests and validate responses.
  • Private Locations – Run checks from private networks to monitor internal infrastructure.
  • Flexible Fail Conditions – Define failure criteria, including timeouts, refused connections, and unexpected responses.

Pricing & Availability

TCP checks are included in your existing API check quota and billed at $2 per 10,000 runs. No additional setup is required—simply start using them today. Check out our pricing details for more information.

Get Started Today

Ready to monitor your TCP-based infrastructure? Read our documentation to get started or define your first TCP check using the Checkly CLI.

Happy monitoring!

Share on social