TCP Check

Supported OS Linux Mac OS Windows

Integration version4.9.0

Network Graph

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.

ParameterValue
<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.