From 4322b1973d23a93d4e78a6cdf4c6da295da9f71c Mon Sep 17 00:00:00 2001
From: Ilya Mashchenko <ilya@netdata.cloud>
Date: Fri, 9 Dec 2022 17:35:53 +0200
Subject: [PATCH] remove deprecated fping.plugin in accordance with v1.37.0
 deprecation notice (#14073)

---
 .github/labeler.yml                           |   4 -
 .gitignore                                    |   1 -
 .../scenarios/aclk-testing/agent_netdata.conf |   5 -
 .../scenarios/gaps_lo/mostly_off.conf         |   1 -
 collectors/COLLECTORS.md                      |   2 +-
 collectors/Makefile.am                        |   1 -
 collectors/REFERENCE.md                       |   1 -
 collectors/fping.plugin/Makefile.am           |  24 ---
 collectors/fping.plugin/README.md             | 110 ----------
 collectors/fping.plugin/fping.conf            |  44 ----
 collectors/fping.plugin/fping.plugin.in       | 202 ------------------
 collectors/plugins.d/README.md                |   2 -
 configure.ac                                  |   1 -
 health/Makefile.am                            |   1 -
 health/QUICKSTART.md                          |   2 +-
 health/health.d/fping.conf                    |  64 ------
 packaging/docker/Dockerfile                   |   3 -
 packaging/makeself/install-or-update.sh       |   6 -
 .../makeself/jobs/50-fping-5.1.install.sh     |  45 ----
 system/netdata.service.in                     |   2 +-
 .../netdata.conf_with_repetition              |   1 -
 .../netdata.conf_without_repetition           |   1 -
 web/gui/dashboard_info.js                     |  19 --
 23 files changed, 3 insertions(+), 539 deletions(-)
 delete mode 100644 collectors/fping.plugin/Makefile.am
 delete mode 100644 collectors/fping.plugin/README.md
 delete mode 100644 collectors/fping.plugin/fping.conf
 delete mode 100755 collectors/fping.plugin/fping.plugin.in
 delete mode 100644 health/health.d/fping.conf
 delete mode 100755 packaging/makeself/jobs/50-fping-5.1.install.sh

diff --git a/.github/labeler.yml b/.github/labeler.yml
index c72325076c..2ff58d1272 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -88,10 +88,6 @@ collectors/ebpf:
   - collectors/ebpf.plugin/*
   - collectors/ebpf.plugin/**/*
 
-collectors/fping:
-  - collectors/fping.plugin/*
-  - collectors/fping.plugin/**/*
-
 collectors/freebsd:
   - collectors/freebsd.plugin/*
   - collectors/freebsd.plugin/**/*
diff --git a/.gitignore b/.gitignore
index c95976a219..821d72d912 100644
--- a/.gitignore
+++ b/.gitignore
@@ -137,7 +137,6 @@ claim/netdata-claim.sh
 collectors/tc.plugin/tc-qos-helper.sh
 collectors/charts.d.plugin/charts.d.plugin
 collectors/python.d.plugin/python.d.plugin
-collectors/fping.plugin/fping.plugin
 collectors/ioping.plugin/ioping.plugin
 collectors/go.d.plugin
 web/netdata-switch-dashboard.sh
diff --git a/build_external/scenarios/aclk-testing/agent_netdata.conf b/build_external/scenarios/aclk-testing/agent_netdata.conf
index 0d3627de61..b76f5fadb3 100644
--- a/build_external/scenarios/aclk-testing/agent_netdata.conf
+++ b/build_external/scenarios/aclk-testing/agent_netdata.conf
@@ -80,7 +80,6 @@
 	# go.d = yes
 	# apps = yes
 	# charts.d = yes
-	# fping = yes
 	# python.d = yes
 	# perf = yes
 	# ioping = yes
@@ -251,10 +250,6 @@
 	# update every = 1
 	# command options = 
 
-[plugin:fping]
-	# update every = 1
-	# command options = 
-
 [plugin:python.d]
 	# update every = 1
 	# command options = 
diff --git a/build_external/scenarios/gaps_lo/mostly_off.conf b/build_external/scenarios/gaps_lo/mostly_off.conf
index 079fef063c..e66f928dd2 100644
--- a/build_external/scenarios/gaps_lo/mostly_off.conf
+++ b/build_external/scenarios/gaps_lo/mostly_off.conf
@@ -25,7 +25,6 @@ errors flood protection period = 0
  apps = no
  go.d = no
  perf = no
- fping = no
  python.d = no
  charts.d = no
  nfacct = no
diff --git a/collectors/COLLECTORS.md b/collectors/COLLECTORS.md
index 0d368b34a8..f4b57d481f 100644
--- a/collectors/COLLECTORS.md
+++ b/collectors/COLLECTORS.md
@@ -410,7 +410,7 @@ The Netdata Agent can collect these system- and hardware-level metrics using a v
 ### Networks
 
 - [Access points](/collectors/charts.d.plugin/ap/README.md): Visualizes data related to access points.
-- [fping.plugin](fping.plugin/README.md): Measure network latency, jitter and packet loss between the monitored node
+- [Ping](https://learn.netdata.cloud/docs/agent/collectors/go.d.plugin/modules/ping/): Measure network latency, jitter and packet loss between the monitored node
   and any number of remote network end points.
 - [Netfilter](/collectors/nfacct.plugin/README.md): Collect netfilter firewall, connection tracker, and accounting
   metrics using `libmnl` and `libnetfilter_acct`.
diff --git a/collectors/Makefile.am b/collectors/Makefile.am
index 9f8bf52807..24e4c3f095 100644
--- a/collectors/Makefile.am
+++ b/collectors/Makefile.am
@@ -10,7 +10,6 @@ SUBDIRS = \
     cups.plugin \
     diskspace.plugin \
     timex.plugin \
-    fping.plugin \
     ioping.plugin \
     freebsd.plugin \
     freeipmi.plugin \
diff --git a/collectors/REFERENCE.md b/collectors/REFERENCE.md
index 939b189ee7..96ecc0bfb8 100644
--- a/collectors/REFERENCE.md
+++ b/collectors/REFERENCE.md
@@ -93,7 +93,6 @@ This section features a list of Netdata's plugins, with a boolean setting to ena
 	# enable running new plugins = yes
 	# check for new plugins every = 60
 	# slabinfo = no
-	# fping = yes
 	# ioping = yes
 	# python.d = yes
 	# go.d = yes
diff --git a/collectors/fping.plugin/Makefile.am b/collectors/fping.plugin/Makefile.am
deleted file mode 100644
index 90654832b9..0000000000
--- a/collectors/fping.plugin/Makefile.am
+++ /dev/null
@@ -1,24 +0,0 @@
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-AUTOMAKE_OPTIONS = subdir-objects
-MAINTAINERCLEANFILES = $(srcdir)/Makefile.in
-
-CLEANFILES = \
-    fping.plugin \
-    $(NULL)
-
-include $(top_srcdir)/build/subst.inc
-SUFFIXES = .in
-
-dist_plugins_SCRIPTS = \
-    fping.plugin \
-    $(NULL)
-
-dist_noinst_DATA = \
-    fping.plugin.in \
-    README.md \
-    $(NULL)
-
-dist_libconfig_DATA = \
-    fping.conf \
-    $(NULL)
diff --git a/collectors/fping.plugin/README.md b/collectors/fping.plugin/README.md
deleted file mode 100644
index e32d3911be..0000000000
--- a/collectors/fping.plugin/README.md
+++ /dev/null
@@ -1,110 +0,0 @@
-<!--
-title: "fping.plugin"
-custom_edit_url: https://github.com/netdata/netdata/edit/master/collectors/fping.plugin/README.md
--->
-
-# fping.plugin
-
-The fping plugin supports monitoring latency, packet loss and uptime of any number of network end points,
-by pinging them with `fping`.
-
-This plugin requires version 5.1 or newer of `fping` (earlier versions may or may not work). Our static builds and
-Docker images come bundled with a known working version of `fping`. Native packages and local builds will need to
-have a working version installed before the plugin is usable.
-
-## Installing fping locally
-
-If your distribution’s repositories do not include a working version of `fping`, the supplied plugin can install
-it, by running:
-
-```sh
-/usr/libexec/netdata/plugins.d/fping.plugin install
-```
-
-The above will download, build and install the right version as `/usr/local/bin/fping`. This requires a working C
-compiler, GNU autotools (at least autoconf and automake), and GNU make. On Debian or Ubuntu, you can pull in most
-of the required tools by installing the `build-essential` package (this should include everything except automake
-and autoconf).
-
-## Configuration
-
-Then you need to edit `/etc/netdata/fping.conf` (to edit it on your system run
-`/etc/netdata/edit-config fping.conf`) like this:
-
-```sh
-# set here all the hosts you need to ping
-# I suggest to use hostnames and put their IPs in /etc/hosts
-hosts="host1 host2 host3"
-
-# override the chart update frequency - the default is inherited from Netdata
-update_every=1
-
-# time in milliseconds (1 sec = 1000 ms) to ping the hosts
-# 200 = 5 pings per second
-ping_every=200
-
-# other fping options - these are the defaults
-fping_opts="-R -b 56 -i 1 -r 0 -t 5000"
-```
-
-## alarms
-
-Netdata will automatically attach a few alarms for each host.
-Check the [latest versions of the fping alarms](https://raw.githubusercontent.com/netdata/netdata/master/health/health.d/fping.conf)
-
-## Additional Tips
-
-### Customizing Amount of Pings Per Second
-
-For example, to update the chart every 10 seconds and use 2 pings every 10 seconds, use this:
-
-```sh
-# Chart Update Frequency (Time in Seconds)
-update_every=10
-
-# Time in Milliseconds (1 sec = 1000 ms) to Ping the Hosts
-# The Following Example Sends 1 Ping Every 5000 ms
-# Calculation Formula: ping_every = (update_every * 1000 ) / 2
-ping_every=5000
-```
-
-### Multiple fping Plugins With Different Settings
-
-You may need to run multiple fping plugins with different settings for different end points.
-For example, you may need to ping a few hosts 10 times per second, and others once per second.
-
-Netdata allows you to add as many `fping` plugins as you like.
-
-Follow this procedure:
-
-**1. Create New fping Configuration File**
-
-```sh
-# Step Into Configuration Directory
-cd /etc/netdata
-
-# Copy Original fping Configuration File To New Configuration File
-cp fping.conf fping2.conf
-```
-
-Edit `fping2.conf` and set the settings and the hosts you need for the seconds instance.
-
-**2. Soft Link Original fping Plugin to New Plugin File**
-
-```sh
-# Become root (If The Step Step Is Performed As Non-Root User)
-sudo su
-
-# Step Into The Plugins Directory
-cd /usr/libexec/netdata/plugins.d
-
-# Link fping.plugin to fping2.plugin
-ln -s fping.plugin fping2.plugin
-```
-
-That's it. Netdata will detect the new plugin and start it.
-
-You can name the new plugin any name you like.
-Just make sure the plugin and the configuration file have the same name.
-
-
diff --git a/collectors/fping.plugin/fping.conf b/collectors/fping.plugin/fping.conf
deleted file mode 100644
index 63a7f7acde..0000000000
--- a/collectors/fping.plugin/fping.conf
+++ /dev/null
@@ -1,44 +0,0 @@
-# no need for shebang - this file is sourced from fping.plugin
-
-# fping.plugin requires a recent version of fping.
-#
-# You can get it on your system, by running:
-#
-# /usr/libexec/netdata/plugins.d/fping.plugin install
-
-# -----------------------------------------------------------------------------
-# configuration options
-
-# The fping binary to use. We need one that can output netdata friendly info
-# (supporting: -N). If you have multiple versions, put here the full filename
-# of the right one
-
-#fping="/usr/local/bin/fping"
-
-
-# a space separated list of hosts to fping
-# we suggest to put names here and the IPs of these names in /etc/hosts
-
-hosts=""
-
-
-# The update frequency of the chart - the default is inherited from netdata
-
-#update_every=2
-
-
-# The time in milliseconds (1 sec = 1000 ms) to ping the hosts
-# by default 5 pings per host per iteration
-# fping will not allow this to be below 20ms
-
-#ping_every="200"
-
-
-# other fping options - defaults:
-# -R      = send packets with random data
-# -b 56   = the number of bytes per packet
-# -i 1    = 1 ms when sending packets to others hosts (switching hosts)
-# -r 0    = never retry packets
-# -t 5000 = per packet timeout at 5000 ms
-
-#fping_opts="-R -b 56 -i 1 -r 0 -t 5000"
diff --git a/collectors/fping.plugin/fping.plugin.in b/collectors/fping.plugin/fping.plugin.in
deleted file mode 100755
index 4b3d1d126f..0000000000
--- a/collectors/fping.plugin/fping.plugin.in
+++ /dev/null
@@ -1,202 +0,0 @@
-#!/usr/bin/env bash
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-# netdata
-# real-time performance and health monitoring, done right!
-# (C) 2017 Costa Tsaousis <costa@tsaousis.gr>
-# GPL v3+
-#
-# This plugin requires a latest version of fping.
-# You can compile it from source, by running me with option: install
-
-export PATH="${PATH}:/sbin:/usr/sbin:/usr/local/sbin"
-export LC_ALL=C
-
-if [ "${1}" = "install" ]
-    then
-    [ "${UID}" != 0 ] && echo >&2 "Please run me as root. This will install a single binary file: /usr/local/bin/fping." && exit 1
-
-    [ -z "${2}" ] && fping_version="5.1" || fping_version="${2}"
-
-    run() {
-        printf >&2 " > "
-        printf >&2 "%q " "${@}"
-        printf >&2 "\n"
-        "${@}" || exit 1
-    }
-
-    download() {
-        local curl="$(which curl 2>/dev/null || command -v curl 2>/dev/null)"
-        [ ! -z "${curl}" ] && run curl -s -L "${1}" && return 0
-
-        local wget="$(which wget 2>/dev/null || command -v wget 2>/dev/null)"
-        [ ! -z "${wget}" ] && run wget -q -O - "${1}" && return 0
-
-        echo >&2 "Cannot find 'curl' or 'wget' in this system." && exit 1
-    }
-
-    [ ! -d /usr/src ] && run mkdir -p /usr/src
-    [ ! -d /usr/local/bin ] && run mkdir -p /usr/local/bin
-
-    run cd /usr/src
-
-    if [ -d "fping-${fping_version}" ]
-        then
-        run rm -rf "fping-${fping_version}" || exit 1
-    fi
-
-    download "https://github.com/schweikert/fping/releases/download/v${fping_version}/fping-${fping_version}.tar.gz" | run tar -zxvpf -
-    [ $? -ne 0 ] && exit 1
-    run cd "fping-${fping_version}" || exit 1
-
-    run ./configure --prefix=/usr/local
-    run make clean
-    run make
-    if [ -f /usr/local/bin/fping ]
-        then
-        run mv -f /usr/local/bin/fping /usr/local/bin/fping.old
-    fi
-    run mv src/fping /usr/local/bin/fping
-    run chown root:root /usr/local/bin/fping
-    run chmod 4755 /usr/local/bin/fping
-    echo >&2
-    echo >&2 "All done, you have a compatible fping now at /usr/local/bin/fping."
-    echo >&2
-
-    fping="$(which fping  2>/dev/null || command -v fping 2>/dev/null)"
-    if [ "${fping}" != "/usr/local/bin/fping" ]
-        then
-        echo >&2 "You have another fping installed at: ${fping}."
-        echo >&2 "Please set:"
-        echo >&2
-        echo >&2 "  fping=\"/usr/local/bin/fping\""
-        echo >&2
-        echo >&2 "at /etc/netdata/fping.conf"
-        echo >&2
-    fi
-    exit 0
-fi
-
-# -----------------------------------------------------------------------------
-
-PROGRAM_NAME="$(basename "${0}")"
-
-logdate() {
-    date "+%Y-%m-%d %H:%M:%S"
-}
-
-log() {
-    local status="${1}"
-    shift
-
-    echo >&2 "$(logdate): ${PROGRAM_NAME}: ${status}: ${*}"
-
-}
-
-warning() {
-    log WARNING "${@}"
-}
-
-error() {
-    log ERROR "${@}"
-}
-
-info() {
-    log INFO "${@}"
-}
-
-fatal() {
-    log FATAL "${@}"
-	echo "DISABLE"
-    exit 1
-}
-
-debug=0
-debug() {
-    [ $debug -eq 1 ] && log DEBUG "${@}"
-}
-
-# -----------------------------------------------------------------------------
-
-# store in ${plugin} the name we run under
-# this allows us to copy/link fping.plugin under a different name
-# to have multiple fping plugins running with different settings
-plugin="${PROGRAM_NAME/.plugin/}"
-
-
-# -----------------------------------------------------------------------------
-
-# the frequency to send info to netdata
-# passed by netdata as the first parameter
-update_every="${1-1}"
-
-# the netdata configuration directory
-# passed by netdata as an environment variable
-[ -z "${NETDATA_USER_CONFIG_DIR}"  ] && NETDATA_USER_CONFIG_DIR="@configdir_POST@"
-[ -z "${NETDATA_STOCK_CONFIG_DIR}" ] && NETDATA_STOCK_CONFIG_DIR="@libconfigdir_POST@"
-
-# -----------------------------------------------------------------------------
-# configuration options
-# can be overwritten at /etc/netdata/fping.conf
-
-# the fping binary to use
-# we need one that can output netdata friendly info (supporting: -N)
-# if you have multiple versions, put here the full filename of the right one
-fping="$( which fping 2>/dev/null || command -v fping 2>/dev/null )"
-
-# a space separated list of hosts to fping
-# we suggest to put names here and the IPs of these names in /etc/hosts
-hosts=""
-
-# the time in milliseconds (1 sec = 1000 ms)
-# to ping the hosts - by default 5 pings per host per iteration
-ping_every="$((update_every * 1000 / 5))"
-
-# fping options
-fping_opts="-R -b 56 -i 1 -r 0 -t 5000"
-
-# -----------------------------------------------------------------------------
-# load the configuration files
-
-for CONFIG in "${NETDATA_STOCK_CONFIG_DIR}/${plugin}.conf" "${NETDATA_USER_CONFIG_DIR}/${plugin}.conf"
-do
-    if [ -f "${CONFIG}" ]
-        then
-        info "Loading config file '${CONFIG}'..."
-        source "${CONFIG}"
-        [ $? -ne 0 ] && error "Failed to load config file '${CONFIG}'."
-    else
-        warning "Cannot find file '${CONFIG}'."
-    fi
-done
-
-if [ -z "${hosts}" ]
-then
-	fatal "no hosts configured - nothing to do."
-fi
-
-if [ -z "${fping}" ]
-then
-	fatal "fping command is not found. Please set its full path in '${NETDATA_USER_CONFIG_DIR}/${plugin}.conf'"
-fi
-
-if [ ! -x "${fping}" ]
-then
-	fatal "fping command '${fping}' is not executable - cannot proceed."
-fi
-
-if [ ${ping_every} -lt 20 ]
-    then
-    warning "ping every was set to ${ping_every} but 20 is the minimum for non-root users. Setting it to 20 ms."
-    ping_every=20
-fi
-
-# the fping options we will use
-options=( -N -l -Q ${update_every} -p ${ping_every} ${fping_opts} ${hosts} )
-
-# execute fping
-info "starting fping: ${fping} ${options[*]}"
-exec "${fping}" "${options[@]}"
-
-# if we cannot execute fping, stop
-fatal "command '${fping} ${options[*]}' failed to be executed (returned code $?)."
diff --git a/collectors/plugins.d/README.md b/collectors/plugins.d/README.md
index 2ecf233f78..1cbf83f229 100644
--- a/collectors/plugins.d/README.md
+++ b/collectors/plugins.d/README.md
@@ -15,7 +15,6 @@ from external processes, thus allowing Netdata to use **external plugins**.
 |[apps.plugin](/collectors/apps.plugin/README.md)|`C`|linux, freebsd|monitors the whole process tree on Linux and FreeBSD and breaks down system resource usage by **process**, **user** and **user group**.|
 |[charts.d.plugin](/collectors/charts.d.plugin/README.md)|`BASH`|all|a **plugin orchestrator** for data collection modules written in `BASH` v4+.|
 |[cups.plugin](/collectors/cups.plugin/README.md)|`C`|all|monitors **CUPS**|
-|[fping.plugin](/collectors/fping.plugin/README.md)|`C`|all|measures network latency, jitter and packet loss between the monitored node and any number of remote network end points.|
 |[ioping.plugin](/collectors/ioping.plugin/README.md)|`C`|all|measures disk latency.|
 |[freeipmi.plugin](/collectors/freeipmi.plugin/README.md)|`C`|linux|collects metrics from enterprise hardware sensors, on Linux servers.|
 |[nfacct.plugin](/collectors/nfacct.plugin/README.md)|`C`|linux|collects netfilter firewall, connection tracker and accounting metrics using `libmnl` and `libnetfilter_acct`.|
@@ -71,7 +70,6 @@ Example:
 	# check for new plugins every = 60
 
 	# charts.d = yes
-	# fping = yes
 	# ioping = yes
 	# python.d = yes
 ```
diff --git a/configure.ac b/configure.ac
index 7ab7db4133..5a39092414 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1702,7 +1702,6 @@ AC_CONFIG_FILES([
     collectors/charts.d.plugin/Makefile
     collectors/diskspace.plugin/Makefile
     collectors/timex.plugin/Makefile
-    collectors/fping.plugin/Makefile
     collectors/ioping.plugin/Makefile
     collectors/freebsd.plugin/Makefile
     collectors/freeipmi.plugin/Makefile
diff --git a/health/Makefile.am b/health/Makefile.am
index 7c8d7f9d2f..f97ca40d37 100644
--- a/health/Makefile.am
+++ b/health/Makefile.am
@@ -42,7 +42,6 @@ dist_healthconfig_DATA = \
     health.d/dockerd.conf \
     health.d/entropy.conf \
     health.d/exporting.conf \
-    health.d/fping.conf \
     health.d/geth.conf \
     health.d/ioping.conf \
     health.d/gearman.conf \
diff --git a/health/QUICKSTART.md b/health/QUICKSTART.md
index bc2da2df19..25adcdbd44 100644
--- a/health/QUICKSTART.md
+++ b/health/QUICKSTART.md
@@ -52,7 +52,7 @@ Navigate to the health configuration directory to see all the available files an
 cd /usr/lib/netdata/conf.d/health.d/
 ls
 adaptec_raid.conf entropy.conf memory.conf squid.conf
-am2320.conf fping.conf mongodb.conf
+am2320.conf mongodb.conf
 apache.conf mysql.conf swap.conf
 ...
 ```
diff --git a/health/health.d/fping.conf b/health/health.d/fping.conf
deleted file mode 100644
index bb22419faa..0000000000
--- a/health/health.d/fping.conf
+++ /dev/null
@@ -1,64 +0,0 @@
-
- template: fping_last_collected_secs
- families: *
-       on: fping.latency
-    class: Latency
-     type: Other
-component: Network
-     calc: $now - $last_collected_t
-    units: seconds ago
-    every: 10s
-     warn: $this > (($status >= $WARNING)  ? ($update_every) : ( 5 * $update_every))
-     crit: $this > (($status == $CRITICAL) ? ($update_every) : (60 * $update_every))
-    delay: down 5m multiplier 1.5 max 1h
-     info: number of seconds since the last successful data collection
-       to: sysadmin
-
- template: fping_host_reachable
- families: *
-       on: fping.latency
-    class: Errors
-     type: Other
-component: Network
-     calc: $average != nan
-    units: up/down
-    every: 10s
-     crit: $this == 0
-    delay: down 30m multiplier 1.5 max 2h
-     info: reachability status of the network host (0: unreachable, 1: reachable)
-       to: sysadmin
-
- template: fping_host_latency
- families: *
-       on: fping.latency
-    class: Latency
-     type: Other
-component: Network
-   lookup: average -10s unaligned of average
-    units: ms
-    every: 10s
-    green: 500
-      red: 1000
-     warn: $this > $green OR $max > $red
-     crit: $this > $red
-    delay: down 30m multiplier 1.5 max 2h
-     info: average latency to the network host over the last 10 seconds
-       to: sysadmin
-
- template: fping_packet_loss
- families: *
-       on: fping.quality
-    class: Errors
-     type: System
-component: Network
-   lookup: average -10m unaligned of returned
-     calc: 100 - $this
-    green: 1
-      red: 10
-    units: %
-    every: 10s
-     warn: $this > $green
-     crit: $this > $red
-    delay: down 30m multiplier 1.5 max 2h
-     info: packet loss ratio to the network host over the last 10 minutes
-       to: sysadmin
diff --git a/packaging/docker/Dockerfile b/packaging/docker/Dockerfile
index 287c592bb8..1b1d45cff5 100644
--- a/packaging/docker/Dockerfile
+++ b/packaging/docker/Dockerfile
@@ -76,9 +76,6 @@ RUN mkdir -p /opt/src /var/log/netdata && \
     ln -sf /dev/stdout /var/log/netdata/access.log && \
     ln -sf /dev/stdout /var/log/netdata/debug.log && \
     ln -sf /dev/stderr /var/log/netdata/error.log && \
-    # fping from alpine apk is on a different location. Moving it.
-    ln -snf /usr/sbin/fping /usr/local/bin/fping && \
-    chmod 4755 /usr/local/bin/fping && \
     # Add netdata user
     addgroup -g ${NETDATA_GID} -S "${DOCKER_GRP}" && \
     adduser -S -H -s /usr/sbin/nologin -u ${NETDATA_GID} -h /etc/netdata -G "${DOCKER_GRP}" "${DOCKER_USR}"
diff --git a/packaging/makeself/install-or-update.sh b/packaging/makeself/install-or-update.sh
index be2b2f75f8..99cc189e6f 100755
--- a/packaging/makeself/install-or-update.sh
+++ b/packaging/makeself/install-or-update.sh
@@ -218,12 +218,6 @@ if [ -f "usr/libexec/netdata/plugins.d/go.d.plugin" ] && command -v setcap 1>/de
   run setcap "cap_net_admin+epi cap_net_raw=eip" "usr/libexec/netdata/plugins.d/go.d.plugin"
 fi
 
-# fix the fping binary
-if [ -f bin/fping ]; then
-  run chown root:${NETDATA_GROUP} bin/fping
-  run chmod 4750 bin/fping
-fi
-
 # -----------------------------------------------------------------------------
 
 echo "Configure TLS certificate paths"
diff --git a/packaging/makeself/jobs/50-fping-5.1.install.sh b/packaging/makeself/jobs/50-fping-5.1.install.sh
deleted file mode 100755
index 644b5524ad..0000000000
--- a/packaging/makeself/jobs/50-fping-5.1.install.sh
+++ /dev/null
@@ -1,45 +0,0 @@
-#!/usr/bin/env bash
-# SPDX-License-Identifier: GPL-3.0-or-later
-
-# shellcheck source=packaging/makeself/functions.sh
-. "$(dirname "${0}")/../functions.sh" "${@}" || exit 1
-
-version="5.1"
-
-# shellcheck disable=SC2015
-[ "${GITHUB_ACTIONS}" = "true" ] && echo "::group::Building fping" || true
-
-fetch "fping-${version}" "https://fping.org/dist/fping-${version}.tar.gz" \
-    1ee5268c063d76646af2b4426052e7d81a42b657e6a77d8e7d3d2e60fd7409fe fping
-
-export CFLAGS="-static -I/openssl-static/include -pipe"
-export LDFLAGS="-static -L/openssl-static/lib"
-export PKG_CONFIG_PATH="/openssl-static/lib/pkgconfig"
-
-if [ "${CACHE_HIT:-0}" -eq 0 ]; then
-    run ./configure \
-        --prefix="${NETDATA_INSTALL_PATH}" \
-        --enable-ipv4 \
-        --enable-ipv6 \
-        --disable-dependency-tracking
-
-    cat > doc/Makefile <<-EOF
-	all:
-	clean:
-	install:
-	EOF
-
-    run make clean
-    run make -j "$(nproc)"
-fi
-
-run make install
-
-store_cache fping "${NETDATA_MAKESELF_PATH}/tmp/fping-${version}"
-
-if [ "${NETDATA_BUILD_WITH_DEBUG}" -eq 0 ]; then
-  run strip "${NETDATA_INSTALL_PATH}"/bin/fping
-fi
-
-# shellcheck disable=SC2015
-[ "${GITHUB_ACTIONS}" = "true" ] && echo "::endgroup::" || true
diff --git a/system/netdata.service.in b/system/netdata.service.in
index 3947392f44..7af84e63c8 100644
--- a/system/netdata.service.in
+++ b/system/netdata.service.in
@@ -52,7 +52,7 @@ CapabilityBoundingSet=CAP_SYS_ADMIN CAP_PERFMON
 CapabilityBoundingSet=CAP_SYS_PTRACE
 # is required for ebpf plugin
 CapabilityBoundingSet=CAP_SYS_RESOURCE
-# is required for fping app
+# is required for go.d/ping app
 CapabilityBoundingSet=CAP_NET_RAW
 # is required for cgroups plugin
 CapabilityBoundingSet=CAP_SYS_CHROOT
diff --git a/tests/alarm_repetition/netdata.conf_with_repetition b/tests/alarm_repetition/netdata.conf_with_repetition
index ddee852ffc..e1424abfdb 100644
--- a/tests/alarm_repetition/netdata.conf_with_repetition
+++ b/tests/alarm_repetition/netdata.conf_with_repetition
@@ -38,7 +38,6 @@
     nfacct = no
     python.d = no
     apps = no
-    fping = no
     cups = no
 
 [health]
diff --git a/tests/alarm_repetition/netdata.conf_without_repetition b/tests/alarm_repetition/netdata.conf_without_repetition
index 7add032820..f11b1632d0 100644
--- a/tests/alarm_repetition/netdata.conf_without_repetition
+++ b/tests/alarm_repetition/netdata.conf_without_repetition
@@ -38,7 +38,6 @@
     nfacct = no
     python.d = no
     apps = no
-    fping = no
     cups = no
 
 [health]
diff --git a/web/gui/dashboard_info.js b/web/gui/dashboard_info.js
index 323fd224d3..229117f6fe 100644
--- a/web/gui/dashboard_info.js
+++ b/web/gui/dashboard_info.js
@@ -297,12 +297,6 @@ netdataDashboard.menu = {
         info: 'Docker containers state and disk usage.'
     },
 
-    'fping': {
-        title: 'fping',
-        icon: '<i class="fas fa-exchange-alt"></i>',
-        info: 'Network latency statistics, via <b>fping</b>. <b>fping</b> is a program to send ICMP echo probes to network hosts, similar to <code>ping</code>, but much better performing when pinging multiple hosts. fping versions after 3.15 can be directly used as netdata plugins.'
-    },
-
     'ping': {
         title: 'Ping',
         icon: '<i class="fas fa-exchange-alt"></i>',
@@ -4648,19 +4642,6 @@ netdataDashboard.context = {
         info: 'Statistics about RetroShare\'s DHT. These values are estimated!'
     },
 
-    // ------------------------------------------------------------------------
-    // fping
-
-    'fping.quality': {
-        colors: NETDATA.colors[10],
-        height: 0.5
-    },
-
-    'fping.packets': {
-        height: 0.5
-    },
-
-
     // ------------------------------------------------------------------------
     // containers