This page reviews the Cacti Feeder.
WAS THIS PAGE HELPFUL?
Cacti is a network monitoring and graphing tool which allows a user to poll services at predetermined intervals and graph the resulting data. It is generally used to graph time-series data of metrics such as CPU load and network bandwidth utilization. A common usage is to monitor network traffic by polling a network switch or router interface via Simple Network Management Protocol (SNMP).
The Cacti feeder is a RAPID-based application that is pre-installed on the GroundWork server. The feeder synchronizes enabled Cacti thresholds and states with GroundWork objects and states. It integrates one Cacti system with any number of GroundWork systems.
Figure: Cacti Feeder Architecture
The feeder integrates either the Cacti system that comes with GroundWork, or a stand-alone Cacti system that is independent of GroundWork. The feeder can synchronize any number of GroundWork systems with the Cacti threshold data. Also, any number of Cacti feeders can be running, integrating multiple Cacti systems. For example, the diagram below illustrates three different Cacti systems connected to three Cacti feeders, which are in turn feeding into a two GroundWork servers in a common parent/standby arrangement.
Figure: Multiple Cacti Systems
Also see the Common Architecture section for a description of what layers a GroundWork RAPID-based feeder application is built on.
During normal operation, the Cacti feeder keeps GroundWork in synchronization with enabled Cacti thresholds. GroundWork alerts are generated when it is detected that a threshold state has changed. Such alerts are sent into the GroundWork Event Console, and passed into the notification and escalation subsystem that applies its rules to notify contacts.
Disabling or removing thresholds from Cacti results in the removal of the associated GroundWork services. The GroundWork host associated with the Cacti device may also be removed if this feeder created it and there are no Cacti feeder services.
There are other operational modes and elements common to all GroundWork RAPID-based feeders, such as feeder health services, failure mode with retry caching, and cleanup mode. Details of these common modes can be found in the Common Operations section.
The Cacti feeder runs as daemonized process under the control of the GroundWork supervise subsystem. The feeder works together with a GroundWork scheduled job (cacti_cron.sh) to indicate when to proceed with processing Cacti thresholds.
Figure: Operating Frequency
The feeder waits for an indication that it’s time to wake up and do something. When it receives that indication, it gets threshold data from Cacti, synchronizes GroundWork system(s), and reports metrics about what it did. It then removes the indicator and then waits for the indicator to show up again. The GroundWork cron job, cacti_cron.sh, runs as per it’s cron schedule to run the Cacti poller, and immediately afterwards creates the indicator.
By default, the cacti_cron.sh cron job runs every five minutes, which matches the Cacti poller and cron interval settings configured in GroundWork. Details on changing the operating frequency of the feeder are in the Configuring the Cacti Feeder section.
Each iteration around the Cacti Feeder loop above is referred to as a cycle in the feeder metrics services below.
The Common Health Services describes feeder metrics and health services, including those which are common to all RAPID-based feeders. Metrics services specific to the Cacti feeder are described below. All metrics are updated once per cycle under normal conditions.
|Feeder Metric Service Name|| Description
|| Reports total time spent synchronizing all datasets (e.g. any that were in the retry cache plus the current one) for the GroundWork endpoint, excluding time taken to get Cacti threshold data.
|| Per cycle, reports 3 things:
This section describes how to configure the Cacti feeder. Configuration of the Cacti feeder is divided into two sections:
- Configuration common to all GroundWork RAPID-based feeders. Certain configuration applies to all GroundWork RAPID-based feeders. Details can be found in the Common Configuration section.
- Configuration specific to the Cacti feeder. This will be covered in this section.
Most of the configuration for the Cacti feeder is described in the Common Configuration section, including how to enable the feeder, configuring multiple GroundWork server endpoints, and much more. The common configuration section should be read first before proceeding into the feeder-specific section.
The Cacti feeder is configured through the following configuration files:
|Configuration Files|| Use
|| The feeder’s master configuration file. This cannot be changed.
(Default is cacti_feeder_localhost.conf)
| The feeder’s endpoint(s) configuration file(s), as defined in the master configuration file.
(Default is ws_client.properties)
| GroundWork web services properties file(s) as defined in each endpoint configuration file; each identifies a GroundWork server REST API URL and credentials.
As described in the Operating Frequency section, the Cacti feeder always starts a new processing cycle immediately after it detects a run indicator created by the GroundWork cacti_cron.sh cron job. The Cacti feeder checks for the indicator every N seconds, where N is the value of the system_indicator_check_frequency setting in the master configuration. The cacti_cron.sh cron job runs the Cacti poller, and immediately after creates the run indicator.
By default, things all run every five minutes. To change the cacti feeder operating frequency, two things can be adjusted:
- How long the feeder waits each time between checking for the indicator. This just requires changing the value of the system_indicator_check_frequency setting, and restarting the feeder.
- Changing how often the Cacti poller runs. This requires:
- Changing the Poller Interval and Cron Interval values in Cacti or the GroundWork Web interface under Advanced > Network Graphing > Configuration > Settings > Poller.
- Changing the scheduling for the cacti_cron.sh cron job. In a Cacti system which is bundled with GroundWork, this is an entry in the nagios user crontab.