Supported telemetry types
The TCP Check integration supports these telemetry types:Prerequisites
The TCP Check integration has the following prerequisite:- Ensure that the Collector can reach each host and port that you want to monitor.
Configure
To configure the TCP Check integration, follow these steps:-
To discover checks from pods or Services in your Kubernetes cluster, add
autodiscovery annotations that specify the host and port to monitor. The integration
is enabled by default, so you don’t need to add a
tcp_checkconfiguration block. For more information, see autodiscovery. Metrics from discovered pods arrive with that pod’s Kubernetes metadata attached. For more information, see enrichment. -
Optional: Configure static targets to monitor hosts that autodiscovery doesn’t
cover, such as a database outside your Kubernetes cluster. For example, add the
following to the
values.yamlfile for your Helm chart:The integration instance checks only the listed targets and disables autodiscovery. In Kubernetes mode, the cluster Collector connects to static targets. For more information, see architecture. -
Optional: Configure separate integration instances to monitor both discovered and
static targets. For example, add the following to the
values.yamlfile for your Helm chart:Thetcp_check/externalkey defines a named instance for the static targets. Configuring a named instance suppresses the implicit default instance, so the emptytcp_check: {}entry is required to keep autodiscovery running. -
Optional: Disable the integration to stop monitoring annotated targets. For example,
add the following to the
values.yamlfile for your Helm chart:
Validate
To validate the TCP Check integration, follow these steps:-
In the Live Telemetry Analyzer, add the following filters:
__name__=cxdot.integration.target.healthcxdot.integration.name=tcp_check
server.addressandserver.portlabels. -
In Metrics Explorer, run the following query:
Confirm that each reachable target reports
1and each unreachable target reports0. -
In Metrics Explorer, run the following query:
Confirm that the query returns the connection time in milliseconds for each reachable target. For a hostname target, the time includes resolving the name.
Troubleshooting
-
A target reports
0forcxdot.integration.target.health: In Metrics Explorer, run the following query to group recent failed checks by target and cause:Theerror.codelabel identifies whether the connection was refused, timed out, or found the network unreachable.
Configuration reference
Configure one TCP Check integration instance with the following settings. In Helm values, place these settings underconfig.integrations.tcp_check. In a Collector configuration file, place
them under cxdot.integrations.tcp_check.
Optional settings
-
enabledType:boolean. Optional. Default:true. Whether to enable this TCP Check integration instance. If true, the Collector performs connectivity tests. If false, the Collector doesn’t run this integration instance. -
instancesType:array of object. Optional. Connectivity targets. Eachendpointuseshost:portformat, such asdb.internal.example:5432. The integration opens a connection to each target during every interval and reports each target separately. When this list contains a target, the integration monitors only the listed targets and disables discovery through annotations for this integration instance. When the list is empty, the integration monitors targets supplied through TCP Check annotations. -
instances[].endpointType:string. Required. Network address of the target inhost:portformat. -
collection_intervalType:duration. Optional. Default:15s. How often the integration opens a connection to each target. -
timeoutType:duration. Optional. Default:10s. Maximum time allowed for a connection attempt and the complete connectivity test during one interval. The value must be greater than0sand must not exceedcollection_interval. A target supplied through an annotation can set a shorter timeout.

