Ping
Plugin: go.d.plugin Module: ping
Overview
This module measures round-trip time and packet loss by sending ping messages to network hosts.
There are two operational modes:
-
Privileged (send raw ICMP ping, default). Requires the necessary permissions (CAP_NET_RAW on Linux,
setuid
bit on other systems).These permissions are automatically set during Netdata installation. However, if you need to set them manually:
- set
CAP_NET_RAW
(Linux only).sudo setcap CAP_NET_RAW=eip <INSTALL_PREFIX>/usr/libexec/netdata/plugins.d/go.d.plugin
- set
setuid
bit (Other OS).sudo chmod 4750 <INSTALL_PREFIX>/usr/libexec/netdata/plugins.d/go.d.plugin
- set
-
Unprivileged (send UDP ping, Linux only). Requires configuring ping_group_range:
This configuration is not set automatically and requires manual configuration.
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 executesudo 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:
Label | Description |
---|---|
host | remote host |
Metrics:
Metric | Dimensions | Unit |
---|---|---|
ping.host_rtt | min, max, avg | milliseconds |
ping.host_std_dev_rtt | std_dev | milliseconds |
ping.host_packet_loss | loss | percentage |
ping.host_packets | received, sent | packets |
Alerts
The following alerts are available:
Alert name | On metric | Description |
---|---|---|
ping_host_reachable | ping.host_packet_loss | network host ${lab1el:host} reachability status |
ping_packet_loss | ping.host_packet_loss | packet loss percentage to the network host ${label:host} over the last 10 minutes |
ping_host_latency | ping.host_rtt | average 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
.
The file format is YAML. Generally, the structure is:
update_every: 1
autodetection_retry: 0
jobs:
- name: some_name1
- name: some_name1
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
Name | Description | Default | Required |
---|---|---|---|
update_every | Data collection frequency. | 5 | no |
autodetection_retry | Recheck interval in seconds. Zero means no recheck will be scheduled. | 0 | no |
hosts | Network hosts. | yes | |
network | Allows configuration of DNS resolution. Supported options: ip (select IPv4 or IPv6), ip4 (select IPv4), ip6 (select IPv6). | ip | no |
interface | The network device name (e.g., eth0 , wlan0 ) used as the source for ICMP echo requests. | no | |
privileged | Ping packets type. "yes" means raw ICMP ping, "no" - "unprivileged" UDP ping. | yes | yes |
packets | Number of ping packets to send. | 5 | no |
interval | Timeout between sending ping packets. | 100ms | no |