Fping Feeder

Overview

Fping is a ping like program which uses the Internet Control Message Protocol (ICMP) echo request to determine if a host is up. GroundWork Monitor's fping feeder is a script that runs the fping tool to ping all the hosts in a GroundWork Monitor installation and feeds the results to the Nagios command pipe. It can run either as a daemon feeder or as a plugin. The Fping Feeder is included in GroundWork Monitor.

1.0 About Fping Feeder

This page describes the setup of the fping feeder. It is a script that runs the fping tool (fping.sourceforge.net) to ping some or all the hosts in a GroundWork Monitor installation, and feed the results to the Nagios® command pipe or broker. It can be run either as a daemon feeder (default) or as a plugin.

Best practice is to use it as a daemon.

Ping testing hosts externally to Nagios reduces Nagios overhead. This feeder can check every host with a ping, in groups of 100 or so at a time, in a continuous cycle starting typically every 5 minutes, and can therefore do this function for Nagios. The feeder function can also be scheduled as a plugin, and will then run periodically as determined by the Nagios scheduler.

The hosts to check are pulled from the GroundWork Monitor Architect (Monarch) database automatically. Results are then submitted to Nagios as passive checks, via NSCA or the command pipe. This feeder will also submit service checks for specific service names, which will be processed only if they exist. The services it looks for are ping only services, based on the service name, for example icmp_ping. See the script code itself for details.

Performance data is taken from the fping run, using the fping -e option, which will return the round trip time in milliseconds.

GroundWork Monitor includes the supervise utility, which keeps programs running (restarts them when they crash). This is how all the GroundWork feeder programs are installed. The main GroundWork installer places the fping feeder under supervise, with an initial configuration set to disable its operation.

Fping supports the ability to walk the Nagios dependency tree, and submit host status that matches the Nagios host-dependency calculation. The logic is identical to that in Nagios, in that if a host is down, and it has no parents, it will get a down status assigned by this feeder. If it has at least one parent that is up, it will likewise be set to down, but if all the parents are down or unreachable, it will be set to unreachable, thus emulating the dependency logic that Nagios uses. Setting the host notification options to down and recovery, and NOT setting notification for unreachable status will effectively suppress alarm storms.

Fping feeder includes several means to smooth out the processing.

Release Notes

Version 5.1.0 provides the following enhancements:

Prerequisites
  1. Current GroundWork Monitor.
  2. Properly enabled and edited fping_process.conf configuration file.
  3. Corresponding Monarch Group with associated hostgroup of hosts or individual hosts to be pinged. If no group is identified then all hosts in Monarch will be pinged.

2.0 Installation

Decide whether you will run the feeder as a plugin or as a daemon. The daemon service is ready to run as soon as the configuration file is properly localized and processing is enabled.

In either case modify the configuration options in /usr/local/groundwork/etc/fping_process.conf file, following the comments in that file and in the Tuning and Options section below. The last value to change is the enable_processing setting, to yes.

As a plugin

First disable running the daemon, by renaming /usr/local/groundwork/base_services/nagios-fping/run as run.original so it is not found by base_services and the daemon will not be started in that context.

Apply the service profile fping_feeder to the parent or other GroundWork server host definition. Remove the fping_process and local_process_fping_feeder services. The service fping_sweep will run the feeder and receive overall operational status.

As a daemon

Apply the service profile fping_feeder to the parent or other GroundWork server host definition. Remove the fping_sweep and local_process_fping_feeder services, not needed in this mode. Use the fping_process service to keep watch on the feeder’s operation.

Tuning and options for either feeder or plugin