# Creating A TCP Monitor - Checkly Docs

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

Source: https://www.checklyhq.com/docs/detect/uptime-monitoring/tcp-monitors/quickstart/

---

- Basic Setup
- Assertions
- Response Validation
- Frequency
- Scheduling & Locations
- Additional Settings

TCP Monitors

# Creating A TCP Monitor

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

Learn more about all the [TCP Monitor capabilities](https://www.checklyhq.com/docs/detect/uptime-monitoring/tcp-monitors/overview) 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:

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

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

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

## ​ Scheduling & Locations

- **Strategy:** Choose between round-robin or parallel execution. Learn more about [scheduling strategies](https://www.checklyhq.com/docs/concepts/scheduling#scheduling-strategies)

- **Locations:** Select [public](https://www.checklyhq.com/docs/concepts/locations) or [private](https://www.checklyhq.com/docs/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](https://www.checklyhq.com/docs/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](https://www.checklyhq.com/docs/communicate/alerts/retries)

- **Alerting:** Configure your [alert settings](https://www.checklyhq.com/docs/communicate/alerts/configuration), [alert channels](https://www.checklyhq.com/docs/communicate/alerts/channels), or set up [webhooks](https://www.checklyhq.com/docs/integrations/alerts/webhooks) for custom integrations

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

Was this page helpful?

[Suggest edits](https://github.com/checkly/docs/edit/main/detect/uptime-monitoring/tcp-monitors/quickstart.mdx)[Raise issue](https://github.com/checkly/docs/issues/new?title=Issue%20on%20docs&body=Path:%20/detect/uptime-monitoring/tcp-monitors/quickstart)

[TCP Monitors Overview Previous](https://www.checklyhq.com/docs/detect/uptime-monitoring/tcp-monitors/overview)[TCP Monitor Configuration Next](https://www.checklyhq.com/docs/detect/uptime-monitoring/tcp-monitors/configuration)

[x](https://x.com/checklyhq)[github](https://github.com/checkly)[linkedin](https://linkedin.com/company/checkly)

[Powered by This documentation is built and hosted on Mintlify, a developer documentation platform](https://www.mintlify.com/?utm_campaign=poweredBy&utm_medium=referral&utm_source=checkly-422f444a)
