-
Notifications
You must be signed in to change notification settings - Fork 37
Expanded on TCP check docs #1200
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 3 commits
Commits
Show all changes
9 commits
Select commit
Hold shift + click to select a range
b84cbc9
Expanded on TCP check docs
sujaya-sys f0fab8f
Changes to wording
sujaya-sys b193a27
Merge branch 'main' into tcp-docs-updates
sujaya-sys e8bd10a
Replaced db example
sujaya-sys 6a1a02a
Update _index.md
sujaya-sys fdb3986
Update _index.md
sujaya-sys 102ec85
Update _index.md
sujaya-sys f540e78
Merge branch 'main' into tcp-docs-updates
sujaya-sys 6c51697
Merge branch 'main' into tcp-docs-updates
sbezludny File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,17 +11,19 @@ slug: / | |
--- | ||
|
||
> **Early Access Feature:** | ||
> This feature is currently in beta. To enable it in the UI, go to the [Labs section](https://app.checklyhq.com/settings/account/labs) in your account settings and toggle on TCP checks. Please note that support for Monitoring as Code (MaC) via the CLI, Terraform, and Pulumi providers is currently is still in development. | ||
> This feature is currently in beta and available only via the UI. Support for Monitoring as Code (MaC) through the CLI, Terraform, and Pulumi providers is still in development. | ||
|
||
## Overview | ||
|
||
A TCP check establishes a connection to a specified hostname or IP address and port to verify responsiveness. These checks are ideal for monitoring non-HTTP services critical to your infrastructure. Here are a few common use cases: | ||
A TCP check establishes a connection to a specified hostname or IP address and port to verify responsiveness. These checks are ideal for monitoring non-HTTP services critical to your infrastructure. Here are a few example use cases: | ||
|
||
* **Mail servers** (e.g. `mail.example.org:993`): Ensure your mail server is available and can accept incoming IMAPS connections. | ||
* Mail servers (e.g. `mail.example.org:993`): Use TCP checks to ensure your mail server is online and processing requests efficiently. For example, set an assertion on the response time to confirm the server accepts IMAPS connections without delays. This helps you spot slowdowns and provide reliable email services for your users. | ||
|
||
* **Databases** (e.g. `database.example.org:3306`): Verify that your database server is online and able to accept connections. | ||
* Databases (e.g. `database.example.org:3306`): Check that your database is online and accepting connections. To ensure that queries are processed as expected, you can additionally send a simple query like `SELECT 1` as part of the request and confirm the response matches what you’d expect via assertions. | ||
|
||
* **Messaging queues** (e.g. `mq.example.org:5672`): Monitor the availability of messaging queue services. | ||
* Firewalls (e.g. `firewall-protected.example.org:8080`): TCP checks allow you to confirm your firewall rules are working as expected. For example, if you want to verify that a specific port is intentionally blocked, enable the “should fail” option. This will mark the check as passed if the connection fails (e.g. due to a timeout or refusal), confirming that your firewall is doing its job. | ||
|
||
There are plenty of other scenarios where TCP checks are helpful, such as monitoring messaging queues or custom applications on proprietary ports. If you’re unsure whether your use case is supported or need assistance getting started, feel free to [reach out](mailto:[email protected])! | ||
|
||
## Create a TCP check | ||
|
||
|
@@ -30,12 +32,15 @@ A TCP check establishes a connection to a specified hostname or IP address and p | |
* **Name & tags:** On the check creation page, choose a meaningful name for the check to easily identify it. Optionally, add one or more tags to further categorize or group the check. | ||
|
||
* **The TCP request:** | ||
* **Target:** Specify the TCP endpoint to monitor by entering a **hostname or IP address** (e.g. tcpbin.com or 192.168.1.1) and a **port** (e.g. 4242). | ||
* **Target:** Specify the TCP endpoint to monitor by entering a hostname or IP address (e.g. tcpbin.com or 192.168.1.1) and a port (e.g. 4242). | ||
* **IP family:** Change the [IP family](/docs/monitoring/ip-info/#ipv4-and-ipv6-support) setting to IPv6 if needed; the default is IPv4. | ||
* **This request should fail:** Enable this option to mark failed connections as passed. Please note that failing assertions will still cause the check to fail. | ||
* **Data to send:** Use the text editor to specify data that will be sent to the port as part of the TCP request. This can include text or protocol-specific commands expected by the target service. To configure the expected response, see ‘Assertions‘ for more details. | ||
|
||
* **Set response time limits:** Define thresholds for marking the check as degraded or failed. This allows you to specify when requests should be considered slow (degraded) or entirely unreachable (failed). | ||
|
||
* **Assertions:** Set conditions for a successful check. You can set a ‘response time‘ for the TCP request or specify the expected ‘response data‘ in the server’s reply. | ||
|
||
* **Scheduling strategy & locations:** Choose a [scheduling strategy](/docs/monitoring/global-locations#scheduling-strategies) and which [location](/docs/monitoring/global-locations) you would like to run your TCP check from. | ||
|
||
* **Scheduling:** Schedule your checks to run at intervals between 10 seconds (minimum) and 24 hours (maximum). | ||
|
@@ -54,4 +59,4 @@ Learn more about analyzing your TCP check run results in our [check results docu | |
|
||
## TCP check pricing | ||
|
||
TCP checks are billed at $2 per 10k runs. For detailed pricing information, visit our [pricing & billing page](/docs/monitoring/check-pricing/#pricing--billing---checkly-docs). | ||
TCP checks are billed at $2 per 10k runs. They share a quota with API checks, allowing you to allocate your budget flexibly between both types. For detailed pricing information, see ‘API & network checks’ on our [pricing & billing page](/docs/monitoring/check-pricing/#pricing--billing---checkly-docs). |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To be able to send the
SELECT 1
to the server, the customer would need to implement the MySQL line protocol within the payload. I don't think that's a feasible example at the moment.