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.
CONTENTS | RELATED RESOURCES | WAS THIS PAGE HELPFUL? |
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.
Version 5.1.0 provides the following enhancements:
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.
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.
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.
IMPORTANT Do not use BOTH the feeder and plugin methods on the same system, or you will be unnecessarily loading your system! Do not apply the fping_sweep service if you enabled the feeder method. If you DO use the plugin method, apply fping_sweep ONLY TO ONE host! |
The fping feeder will also submit service check results. This function is on by default, but it can be turned off or on by editing the configuration file:
vi /usr/local/groundwork/config/fping_process.conf
Modify the line:
send_service_check = no
to not send service checks, and set it back to:
send_service_check = yes
to send service checks.
Similarly, the host check submission can be disabled:
send_host_check = no
means disabled, and:
send_host_check = yes
means enabled (default).
Identify the host where fping_process is applied by editing the line in the configuration:
fping_host = "localhost"
The service icmp_ping will be the only service that receives a passive check result by default. You may change this service name by editing the services_list entry in the configuration file, using a comma-delimited list (no spaces!). Be advised that this feeder will only submit results for services that exist in Monarch and are assigned to hosts. |
IMPORTANT Enable Processing |
Once you have set up all the configuration options edit this line in the configuration file:
enable_processing = no
and change it to:
enable_processing = yes
Until you make this change, no results will be returned by the script.