> ## Documentation Index
> Fetch the complete documentation index at: https://checkly-422f444a-mda-troubleshooting-section.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# TCP Monitor Configuration

> Configure your TCP monitor to ensure your network services are always available.

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

<Tip>
  To configure a TCP monitor using code, learn more about the [TCP Monitor Construct](/constructs/tcp-monitor).
</Tip>

### Basic Setup

Configure your TCP monitor by specifying the target service:

<Frame>
  <img src="https://mintcdn.com/checkly-422f444a-mda-troubleshooting-section/YJT8D0f7dFhfYVmm/images/tcp-request.png?fit=max&auto=format&n=YJT8D0f7dFhfYVmm&q=85&s=ba40832ca1a855ba634a824f3a4aa47b" 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-mda-troubleshooting-section/YJT8D0f7dFhfYVmm/images/tcp-assertion.png?fit=max&auto=format&n=YJT8D0f7dFhfYVmm&q=85&s=416937fe05f62a8732b1be1006454550" 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

For more details, see our documentation on [Assertions](/detect/assertions).

### Response Validation

Validate the service response for more precise monitoring:

<Frame>
  <img src="https://mintcdn.com/checkly-422f444a-mda-troubleshooting-section/YJT8D0f7dFhfYVmm/images/tcp-response.png?fit=max&auto=format&n=YJT8D0f7dFhfYVmm&q=85&s=8f39c471c3eb173162a298949105a9f2" 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-mda-troubleshooting-section/YJT8D0f7dFhfYVmm/images/tcp-frequency.png?fit=max&auto=format&n=YJT8D0f7dFhfYVmm&q=85&s=e98b9d550c820a84c295b67244292704" 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-mda-troubleshooting-section/YJT8D0f7dFhfYVmm/images/tcp-scheduling-strategy.png?fit=max&auto=format&n=YJT8D0f7dFhfYVmm&q=85&s=e002cb9609c3f3eefd79e34de0426965" 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](/monitoring/global-locations#scheduling-strategies)
* **Locations:** Select one or more [public](/monitoring/global-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)
* **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>
