Ganglia modules for Linux and possibly Cygwin
Clone or download
Latest commit c29cb01 May 25, 2016



v1.3.5: Add a free space metric.
        Correct metric name for root filesystem.
v1.3.4: Explicitly define some buffer sizes.
v1.3.3: Tweak README: requires ganglia headers > 3.3.1
v1.3.2: Adapt to use gm_file.h instead of local copies of Ganglia
        helper functions (requires ganglia headers > 3.3.2)
v1.3.1: Tweak to build without a local copy of the full Ganglia source tree
v1.3.0: add filesystem capacity metrics
v1.2.0: improve multiCPU metric performance
v1.1.0: rename metric names for IO to follow ganglia-modules-solaris
        conventions and units
v1.0.0: initial release with IO module code developed by JB Kim and
        multiCPU code contributed to Ganglia by Brad Nicholes

Updated metric names and units

- metric names follow the original naming convention for mod_iostat
- values reported are in KB not Bytes, so you might see `K' twice in the
  rrd graph (and if you see K twice, it means you are looking at MBytes)

- metric names follow the convention of ganglia-modules-solaris
  (similar to names in kstat, e.g. io_nwrite = number of bytes written)
- values reported in unscaled units (bytes and seconds) rather than
  in KB and milliseconds

When does a module belong in ganglia-modules-linux?

Does a module belong in ganglia-modules-linux or in the main gmond
repository (monitor-core on Github)?

If the answers to these questions is YES, the module probably belongs
in this repository:
- does the module access files under /proc that only exist on Linux?
- does it depend on C libraries that only exist on Linux?
- does it use syscalls or special parameters to syscalls that only
  exist on Linux?

If the C library calls made by the module are POSIX, then the module
probably belongs in the main monitor-core repository as it
may work for users on other platforms, even if you can't test
those platforms yourself.


This version of modmulticpu is based on the original module contributed
by Brad Nicholes to the main Ganglia tree.

It has been enhanced to access the array of CPU data in a more efficient

Building (if using code from git)

Prepare the tree with this command:

  mkdir m4 && autoreconf --install

Then follow the steps below to build.

You will need the source code for the main monitor-core repository in
order to compile this code.


Sample configure command for building the modules:

  GANGLIA_INCLUDES="-I/some/path/to/monitor-core/include -I/some/path/to/monitor-core/lib"
  ./configure \
    CFLAGS="`apr-1-config --cflags --includes` $GANGLIA_INCLUDES" \
    --enable-shared --disable-static