> ## Documentation Index
> Fetch the complete documentation index at: https://www.checklyhq.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Creating A TCP Monitor

> Step-by-step guide to set up your first TCP monitor and ensure your network services are always available.

> [!TIP]
>
> Learn more about all the [TCP Monitor capabilities](https://www.checklyhq.com/docs/detect/uptime-monitoring/tcp-monitors/overview.md) in the general overview.

This guide walks you through creating your first TCP monitor to check the availability of your network services, databases, or any TCP-based application.

TCP monitors verify the availability of non-HTTP services by establishing a connection to a specific host and port.

## Basic Setup

Configure your TCP monitor by specifying the target service:

![TCP monitor setup interface showing hostname, port, and protocol selection](https://mintcdn.com/checkly-422f444a/9iwkS8Mlm4KfOHnA/images/tcp-request.png?fit=max\&auto=format\&n=9iwkS8Mlm4KfOHnA\&q=85\&s=1fcf5aa0d20ab1e3363e6617c7d7775e)

* **Hostname:** The server you want to monitor (e.g. `db.example.com`)
* **Port:** The TCP port your service is listening on (e.g. `3306` for MySQL)
* **IP family:** Defaults to IPv4

## Assertions

Configure connection timeouts and data transmission assertions:

![TCP monitor connection options showing timeout settings and data fields](https://mintcdn.com/checkly-422f444a/SdrQKfCB6NPoo3Ex/images/tcp-assertion.png?fit=max\&auto=format\&n=SdrQKfCB6NPoo3Ex\&q=85\&s=f1e4247681dc179f25bd4687d2ea10c2)

* **Connection timeout:** Maximum time to wait for connection (default: 10 seconds)
* **Read timeout:** Time to wait for response after connection (default: 10 seconds)
* **Data to send:** Optional data to transmit after establishing connection

## Response Validation

Validate the service response for more precise monitoring:

![TCP monitor assertions interface showing response validation options](https://mintcdn.com/checkly-422f444a/9iwkS8Mlm4KfOHnA/images/tcp-response.png?fit=max\&auto=format\&n=9iwkS8Mlm4KfOHnA\&q=85\&s=9eb408631ec4975963dfefe0d6317a28)

* **Response data:** Expected text pattern in the response
* **Response time limits:** Define performance thresholds for degraded or failed states

## Frequency

Set how often the monitor runs (every 10 seconds to 24 hours):

![TCP monitor frequency selection interface](https://mintcdn.com/checkly-422f444a/9iwkS8Mlm4KfOHnA/images/tcp-frequency.png?fit=max\&auto=format\&n=9iwkS8Mlm4KfOHnA\&q=85\&s=f550473b30dee82fa881431c28f11acf)

## Scheduling & Locations

![TCP monitor scheduling strategy and location selection interface](https://mintcdn.com/checkly-422f444a/9iwkS8Mlm4KfOHnA/images/tcp-scheduling-strategy.png?fit=max\&auto=format\&n=9iwkS8Mlm4KfOHnA\&q=85\&s=9a3b569dc2183f7b24dd8bf0d9f0f6fc)

* **Strategy:** Choose between round-robin or parallel execution. Learn more about [scheduling strategies](https://www.checklyhq.com/docs/concepts/scheduling.md#scheduling-strategies)
* **Locations:** Select [public](https://www.checklyhq.com/docs/concepts/locations.md) or [private](https://www.checklyhq.com/docs/platform/private-locations/overview.md) locations to run the monitor from

## Additional Settings

* **Name:** Give your monitor a clear name to identify it in dashboards and alerts
* **Tags:** Use tags to organize monitors across dashboards and [maintenance windows](https://www.checklyhq.com/docs/communicate/maintenance-windows/overview.md)
* **Description:** A description of the check. Supports Markdown. Maximum length: 500 characters
* **Retries:** Define how failed runs should be retried. See [retry strategies](https://www.checklyhq.com/docs/communicate/alerts/retries.md)
* **Alerting:** Configure your [alert settings](https://www.checklyhq.com/docs/communicate/alerts/configuration.md), [alert channels](https://www.checklyhq.com/docs/communicate/alerts/channels.md), or set up [webhooks](https://www.checklyhq.com/docs/integrations/alerts/webhooks.md) for custom integrations

> [!NOTE]
>
> TCP monitors provide network-level connectivity verification. For application-level monitoring, consider adding [synthetic monitoring](https://www.checklyhq.com/docs/detect/synthetic-monitoring/overview.md) to your monitoring strategy.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.