Network Path for Datadog Cloud Network Monitoring is not supported for your selected Datadog site (US1).
Network Path for Datadog Cloud Network Monitoring is in Limited Availability. Reach out to your Datadog representative to sign up, and then use the following instructions to configure the Datadog Agent to gather network path data.
Setting up Network Path involves configuring your Linux environment to monitor and trace the network routes between your services and endpoints. This helps identify bottlenecks, latency issues, and potential points of failure in your network infrastructure. Network Path allows you to manually configure individual network paths or automatically discover them, depending on your needs.
Manually configure individual paths by specifying the exact endpoint you want to test. This allows you to target specific network routes for monitoring.
Enable the system-probe traceroute module in /etc/datadog-agent/system-probe.yaml by adding the following:
traceroute:
enabled: true
Enable network_path to monitor new destinations from this Agent by creating or editing the /etc/datadog-agent/conf.d/network_path.d/conf.yaml file:
init_config:min_collection_interval:60# in seconds, default 60 secondsinstances:# configure the endpoints you want to monitor, one check instance per endpoint# warning: Do not set the port when using UDP. Setting the port when using UDP can cause traceroute calls to fail and falsely report an unreachable destination.- hostname:api.datadoghq.eu# endpoint hostname or IPprotocol:TCPport:443tags:- "tag_key:tag_value"- "tag_key2:tag_value2"## optional configs:# max_ttl: 30 # max traderoute TTL, default is 30# timeout: 1000 # timeout in milliseconds per hop, default is 1s# more endpoints- hostname:1.1.1.1# endpoint hostname or IPprotocol:UDPtags:- "tag_key:tag_value"- "tag_key2:tag_value2"
For full configuration details, reference the example config, or use the following:
init_config:## @param min_collection_interval - int - optional - default:60## Interval between each traceroute runs for each destination.# min_collection_interval: <interval_in_seconds>instances:## @param hostname - string - required## Hostname or IP of the destination endpoint to monitor.## Traceroute will be run against this endpoint with a sequence of different TTL.#- hostname:<HOSTNAME_OR_IP>## @param port - integer - optional - default:<RANDOM PORT>## The port of the destination endpoint.## For UDP, we do not recommend setting the port since it can make probes less reliable.## By default, the port is random.## port: <PORT>## @param max_ttl - integer - optional - default:30## The maximum traceroute TTL used during path collection.## max_ttl: 30## @param timeout - integer - optional - default:1000## Specifies how much time in milliseconds the traceroute should## wait for a response from each hop before timing out.## timeout: 1000## @param min_collection_interval - integer - optional - default:60## Interval between each traceroute runs for each destination.# min_collection_interval: <interval_in_seconds>## @param source_service - string - optional## Source service name.## source_service: <SOURCE_SERVICE>## @param destination_service - string - optional## Destination service name.## destination_service: <DESTINATION_SERVICE>## @param tags - list of strings - optional## A list of tags to attach to every metric and service check emitted by this instance.#### Learn more about tagging at https://docs.datadoghq.com/tagging## tags:# - <KEY_1>:<VALUE_1># - <KEY_2>:<VALUE_2>
Restart the Agent after making these configuration changes to start seeing network paths.
Agent v7.61+ is required.
Note: Windows only supports TCP traceroutes.
In Windows environments, the Agent uses UDP by default to monitor individual paths. If the protocol is not specified in the configuration, the Agent attempts a UDP traceroute, and any errors are logged. To work around this, ensure the protocol is set to TCP. For example:
init_config:min_collection_interval:60# in seconds, default 60 secondsinstances:- hostname:api.datadoghq.eu# endpoint hostname or IPprotocol:TCPport:443# optional port number, default is 80
To enable Network Path with Kubernetes using Helm, add the below to your values.yaml file. Note: Helm chart v3.109.1+ is required. For more information, see the Datadog Helm Chart documentation and the documentation for Kubernetes and Integrations.
datadog:traceroute:enabled:trueconfd:network_path.yaml:|- init_config:
min_collection_interval: 60 # in seconds, default 60 seconds
instances:
# configure the endpoints you want to monitor, one check instance per endpoint
# warning: Do not set the port when using UDP. Setting the port when using UDP can cause traceroute calls to fail and falsely report an unreachable destination.
- hostname: api.datadoghq.eu # endpoint hostname or IP
protocol: TCP
port: 443
tags:
- "tag_key:tag_value"
- "tag_key2:tag_value2"
## optional configs:
# max_ttl: 30 # max traderoute TTL, default is 30
# timeout: 1000 # timeout in milliseconds per hop, default is 1s
# more endpoints
- hostname: 1.1.1.1 # endpoint hostname or IP
protocol: UDP
tags:
- "tag_key:tag_value"
- "tag_key2:tag_value2"
Note: Network traffic paths is experimental and is not yet stable. Do not deploy network traffic paths widely in a production environment.
Configure network traffic paths to allow the Agent to automatically discover and monitor network paths based on actual network traffic, without requiring you to specify endpoints manually.
Enabling Network Path to automatically detect paths can generate a significant number of logs, particularly when monitoring network paths across a large number of hosts.