Ping

When configured, the SNMP check can also send ICMP pings to your devices. This can be configured for individual as well as Autodiscovered devices.

Setup

  1. Install or upgrade the Datadog Agent to v7.52+. For platform specific instructions, see the Datadog Agent documentation.

  2. Edit the snmp.d/conf.yaml file in the conf.d/ folder at the root of your Agent’s configuration directory for individual devices, or the datadog.yaml Agent configuration file for Autodiscovery. See the sample snmp.d/conf.yaml for all available configuration options.

  3. Linux Only: If you’re receiving errors when running ping, you may need to configure the integration to send pings using a raw socket. This requires elevated privileges and is done using the Agent’s system-probe. See the linux.use_raw_socket system-probe configuration below.

To apply ping settings to all manually configured devices, add the ping configuration in the init_config section.

init_config:
  loader: core
  use_device_id_as_hostname: true
  instances:
    - ip_address: '1.2.3.4'
      community_string: 'sample-string'
      tags:
      - 'key1:val1'
      - 'key2:val2'
  ping:
    enabled: true            # (default false) enable the ping check
    linux:                   # (optional) Linux specific configuration
    use_raw_socket: true   # (optional, default false) send pings using a raw socket (see step 3 above)

To apply ping settings to all Autodiscovery subnets, create the ping configuration under the network_devices.autodiscovery section.

network_devices:
  autodiscovery:
    workers: 100
    discovery_interval: 3600
    loader: core
    use_device_id_as_hostname: true
    configs:
      - network_address: 10.10.0.0/24
        loader: core
        snmp_version: 2
        port: 161
        community_string: '***'
        tags:
        - "key1:val1"
        - "key2:val2"
        ping:
          enabled: true            # (default false) enable the ping check
          linux:                   # (optional) Linux specific configuration
          use_raw_socket: true   # (optional, default false) send pings using a raw socket (see step 3 above)

Note: For Autodiscovery, Datadog does not ping devices that do not respond to SNMP.

If you’re on Linux and want to use raw sockets for ping, you must also enable ping in the system-probe configuration file in addition to the Agent configuration.

Edit /etc/datadog-agent/system-probe.yaml to set the enable flag to true.

ping:
  enabled: true

After you successfully enable ping on your network devices, the Ping State column in the UI is enabled, allowing you to see the ping statuses for your devices:

The status column in the NDM UI showing the Ping state toggle enabled with the ping state status column highlighted

The following are the status names in the Ping State column and their descriptions:

Status nameDescription
UnreachableDevice is unreachable through ping.
UnmonitoredPing has not been configured for this device.
OkDevice is reachable through ping.
N/AThe devices do not support ping.

Metrics collected

The following metrics are made available after enabling ping:

Metric nameDescription
networkdevice.ping.avg_rttAverage round-trip time
networkdevice.ping.reachableDevice reachability status
networkdevice.ping.packet_lossPacket loss percentage
networkdevice.ping.unreachableDevice unreachable status

Further Reading