- Author
Lars Kellogg-Stedman
This is a Python module for Ganglia's gmond that extracts byte and packet counts from selected iptables rules and publishes them as bytes/sec and packets/sec to gmond.
This module is configured via the iptables.pyconf
file, possibly located in /etc/ganglia/conf.d
. The module supports the following parameters:
- LogFile
Send logging to the specified file instead of stderr.
- LogLevel (default INFO)
What to log.
- AccountingChains (default acctin,acctout)
A comma-separated list of iptables chains to search for marked rules.
- RefreshRate (default 10)
How often to poll iptables for new byte/packet counts.
- WindowSize (default 6)
Over how many samples to calculate rate information.
- IptablesCommand (default /sbin/iptables)
Command used to run iptables. If you're running gmond as user
nobody
, you may want to change this to "/usr/bin/sudo /sbin/iptables" and making the appropriate changes to your/etc/sudoers
file.
You will need to add the necessary metric
definitions to the collection_group
in the configuration file. You can generate appropriate definitions by running iptables.py
with the -m
option:
python /usr/lib/ganglia/python_modules/iptables.py -m
NB: Running iptables.py
directly will not parse your config file. You can use the -o parameter=value
command line option to provide configuration parameters.
This module extracts packet and byte counts from rules marked with special comments using the comment
module. The module looks for rules containing the phrase "monitor:" followed by a metric name. For example, to monitor inbound http traffic:
iptables -A acctin -p tcp --dport 80 -m comment --comment 'monitor:http_in'
This will result in the metrics http_in_bytes
and http_in_packets
.