Skip to main content

Ping

Plugin: go.d.plugin Module: ping

Overview​

This module measures round-tripe time and packet loss by sending ping messages to network hosts.

There are two operational modes:

  • privileged (send raw ICMP ping, default). Requires CAP_NET_RAW capability or root privileges:

    Note: set automatically during Netdata installation.

    sudo setcap CAP_NET_RAW=eip <INSTALL_PREFIX>/usr/libexec/netdata/plugins.d/go.d.plugin
  • unprivileged (send UDP ping, Linux only). Requires configuring ping_group_range:

    sudo sysctl -w net.ipv4.ping_group_range="0 2147483647"

    To persist the change add net.ipv4.ping_group_range="0 2147483647" to /etc/sysctl.conf and execute sudo sysctl -p.

This collector is supported on all platforms.

This collector supports collecting metrics from multiple instances of this integration, including remote instances.

Default Behavior​

Auto-Detection​

This integration doesn't support auto-detection.

Limits​

The default configuration for this integration does not impose any limits on data collection.

Performance Impact​

The default configuration for this integration is not expected to impose a significant performance impact on the system.

Metrics​

Metrics grouped by scope.

The scope defines the instance that the metric belongs to. An instance is uniquely identified by a set of labels.

Per host​

These metrics refer to the remote host.

Labels:

LabelDescription
hostremote host

Metrics:

MetricDimensionsUnit
ping.host_rttmin, max, avgmilliseconds
ping.host_std_dev_rttstd_devmilliseconds
ping.host_packet_losslosspercentage
ping.host_packetsreceived, sentpackets

Alerts​

The following alerts are available:

Alert nameOn metricDescription
ping_host_reachable ping.host_packet_lossnetwork host ${lab1el:host} reachability status
ping_packet_loss ping.host_packet_losspacket loss percentage to the network host ${label:host} over the last 10 minutes
ping_host_latency ping.host_rttaverage latency to the network host ${label:host} over the last 10 seconds

Setup​

Prerequisites​

No action required.

Configuration​

File​

The configuration file name for this integration is go.d/ping.conf.

You can edit the configuration file using the edit-config script from the Netdata config directory.

cd /etc/netdata 2>/dev/null || cd /opt/netdata/etc/netdata
sudo ./edit-config go.d/ping.conf

Options​

The following options can be defined globally: update_every, autodetection_retry.

Config options
NameDescriptionDefaultRequired
update_everyData collection frequency.5no
autodetection_retryRecheck interval in seconds. Zero means no recheck will be scheduled.0no
hostsNetwork hosts.yes
networkAllows configuration of DNS resolution. Supported options: ip (select IPv4 or IPv6), ip4 (select IPv4), ip6 (select IPv6).ipno
privilegedPing packets type. "no" means send an "unprivileged" UDP ping, "yes" - raw ICMP ping.yesno
packetsNumber of ping packets to send.5no
intervalTimeout between sending ping packets.100msno

Examples​

IPv4 hosts​

An example configuration.

Config
jobs:
- name: example
hosts:
- 192.0.2.0
- 192.0.2.1

Unprivileged mode​

An example configuration.

Config
jobs:
- name: example
privileged: no
hosts:
- 192.0.2.0
- 192.0.2.1

Multi-instance​

Note: When you define multiple jobs, their names must be unique.

Multiple instances.

Config
jobs:
- name: example1
hosts:
- 192.0.2.0
- 192.0.2.1

- name: example2
packets: 10
hosts:
- 192.0.2.3
- 192.0.2.4

Troubleshooting​

Debug Mode​

To troubleshoot issues with the ping collector, run the go.d.plugin with the debug option enabled. The output should give you clues as to why the collector isn't working.

  • Navigate to the plugins.d directory, usually at /usr/libexec/netdata/plugins.d/. If that's not the case on your system, open netdata.conf and look for the plugins setting under [directories].

    cd /usr/libexec/netdata/plugins.d/
  • Switch to the netdata user.

    sudo -u netdata -s
  • Run the go.d.plugin to debug the collector:

    ./go.d.plugin -d -m ping

Do you have any feedback for this page? If so, you can open a new issue on our netdata/learn repository.