> ## Documentation Index
> Fetch the complete documentation index at: https://checkly-422f444a-herve-ai-557-agentic-check-migration-guide.mintlify.site/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](/detect/uptime-monitoring/tcp-monitors/overview) in the general overview.
</Tip>

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:

<Frame>
  <img src="https://mintcdn.com/checkly-422f444a-herve-ai-557-agentic-check-migration-guide/mi77MqAA8XEbDOI5/images/tcp-request.png?fit=max&auto=format&n=mi77MqAA8XEbDOI5&q=85&s=b3c67e62b097546a130c685eb38ac4a3" alt="TCP monitor setup interface showing hostname, port, and protocol selection" width="1572" height="918" data-path="images/tcp-request.png" />
</Frame>

* **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:

<Frame>
  <img src="https://mintcdn.com/checkly-422f444a-herve-ai-557-agentic-check-migration-guide/mi77MqAA8XEbDOI5/images/tcp-assertion.png?fit=max&auto=format&n=mi77MqAA8XEbDOI5&q=85&s=6765a6b4e17e845609dfa4ea18df5845" alt="TCP monitor connection options showing timeout settings and data fields" width="1564" height="416" data-path="images/tcp-assertion.png" />
</Frame>

* **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:

<Frame>
  <img src="https://mintcdn.com/checkly-422f444a-herve-ai-557-agentic-check-migration-guide/mi77MqAA8XEbDOI5/images/tcp-response.png?fit=max&auto=format&n=mi77MqAA8XEbDOI5&q=85&s=5a6facb0cbb7b66faf55ba5051912e93" alt="TCP monitor assertions interface showing response validation options" width="2448" height="444" data-path="images/tcp-response.png" />
</Frame>

* **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):

<Frame>
  <img src="https://mintcdn.com/checkly-422f444a-herve-ai-557-agentic-check-migration-guide/mi77MqAA8XEbDOI5/images/tcp-frequency.png?fit=max&auto=format&n=mi77MqAA8XEbDOI5&q=85&s=80703bb12ccf80e9becb6aa69715d1aa" alt="TCP monitor frequency selection interface" width="1572" height="358" data-path="images/tcp-frequency.png" />
</Frame>

## Scheduling & Locations

<Frame>
  <img src="https://mintcdn.com/checkly-422f444a-herve-ai-557-agentic-check-migration-guide/mi77MqAA8XEbDOI5/images/tcp-scheduling-strategy.png?fit=max&auto=format&n=mi77MqAA8XEbDOI5&q=85&s=a43163eb6f8aedf940867e688ee04dfe" alt="TCP monitor scheduling strategy and location selection interface" width="1566" height="1368" data-path="images/tcp-scheduling-strategy.png" />
</Frame>

* **Strategy:** Choose between round-robin or parallel execution. Learn more about [scheduling strategies](/concepts/scheduling#scheduling-strategies)
* **Locations:** Select [public](/concepts/locations) or [private](/platform/private-locations/overview) 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](/communicate/maintenance-windows/overview)
* **Description:** A description of the check. Supports Markdown. Maximum length: 500 characters
* **Retries:** Define how failed runs should be retried. See [retry strategies](/communicate/alerts/retries)
* **Alerting:** Configure your [alert settings](/communicate/alerts/configuration), [alert channels](/communicate/alerts/channels), or set up [webhooks](/integrations/alerts/webhooks) for custom integrations

<Note>
  TCP monitors provide network-level connectivity verification. For application-level monitoring, consider adding [synthetic monitoring](/detect/synthetic-monitoring/overview) to your monitoring strategy.
</Note>


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