Overview
Monitor TCP connectivity and response time for any host and port.
Setup
Installation
The TCP check is included in the Datadog Agent package. No additional installation is needed on your server.
Many metrics checks are best run on the same host(s) as the monitored service. However, it’s recommended to run this check from hosts that do not run the monitored TCP services to test remote connectivity.
Configuration
Host
To configure this check for an Agent running on a host:
Edit the tcp_check.d/conf.yaml
file in the conf.d/
folder at the root of your Agent’s configuration directory. See the sample tcp_check.d/conf.yaml for all available configuration options:
init_config:
instances:
- name: SSH check
host: jumphost.example.com # or an IPv4/IPv6 address
port: 22
collect_response_time: true # to collect network.tcp.response_time. Default is false.
Configuration Options:
name
(Required) - Name of the service. This is included as a tag: instance:<name>
. Note: Any spaces or dashes are converted to underscores.host
(Required) - Host to be checked. This is included as a tag: url:<host>:<port>
.port
(Required) - Port to be checked. This is included as a tag: url:<host>:<port>
.timeout
(Optional) - Timeout for the check. Defaults to 10 seconds.collect_response_time
(Optional) - Defaults to false, which means no response time metric is collected. If set to true, the metric returned is network.tcp.response_time
.tags
(Optional) - Tags to be assigned to the metric.
Restart the Agent to start sending TCP service checks and response times to Datadog.
Containerized
For containerized environments, see the Autodiscovery Integration Templates for guidance on applying the parameters below.
Parameter | Value |
---|
<INTEGRATION_NAME> | tcp_check |
<INIT_CONFIG> | blank or {} |
<INSTANCE_CONFIG> | {"name": "<TCP_CHECK_INSTANCE_NAME>", "host":"%%host%%", "port":"%%port%%"} |
Validation
Run the Agent’s status
subcommand and look for tcp_check
under the Checks section.
Data Collected
Metrics
network.tcp.response_time (gauge) | The response time of a given host and TCP port, tagged with url, e.g. 'url:192.168.1.100:22'. Shown as second |
network.tcp.can_connect (gauge) | Value of 1 if the agent can successfully establish a connection to the URL, 0 otherwise |
Events
The TCP check does not include any events.
Service Checks
tcp.can_connect
Returns CRITICAL if the Agent cannot establish an TCP connection to the URL. Returns OK if the connection is successful.
Statuses: ok, critical
Note: To set an alert on this service check, create a Network Monitor.
Troubleshooting
Need help? Contact Datadog support.