Archive for February, 2005

Ganglia 3.0.0 Released!

The Ganglia Development Team is pleased to announce the release
of Ganglia 3.0.0 (Kittyhawk) which is available for immediate
download from and features…

Windows Support
Ganglia now runs on Windows. There is support for all standard metrics except
for disk_free, disk_total, max_part_used and cpu_num (support will be added in
future releases).

We have also created a windows installer which allows you to easily add the ganglia
monitoring service to any Windows NT/2000/XP machine.

Currently, you are required to use unicast messaging since there is no support
for multicast on windows at this time (although multicast support will be
added in the future).

Special thanks to Carlo Marcelo Arenas Belon for providing
metric code which makes native windows calls to collect the majority of

Unicast Support
Ganglia now allows you to send status messages over unicast routes instead
of a single multicast channels. This capability gives you greater flexibility
in building your monitoring overlay and allows ganglia to run on networks that
are not multicast-enabled.

Moreover, you can specify as many unicast and multicast channels as you like.
Whenever a message is sent each and every channel will receive the message.
This feature gives you much more power in grouping machines.

Gmetric commandline tool parses the configuration file
Gmetric now parses the gmond configuration file and sends metric information to
all unicast and multicast udp channels specified.

Apache Portable Runtime library
The Apache Portable Runtime (APR) library is the library underlying the Apache web
server which provide memory pools, networking io, hash tables and arrays in
a very portable manner. APR now serves as the heart of the new ganglia monitoring
daemon to expand portability, improve reliability and provide new features like
IPv6 address support.

More powerful and flexible configuration
The configuration file for gmond has changed. This change was necessary
to provide you with a more flexible and powerful framework in which to
configure gmond. There is a man page for gmond.conf (see man gmond.conf)
which explains the new format.

To convert an old 2.5.x configuration file to the new format simply run

  % gmond --convert old.conf > new.conf

This new format allows you to specify multiple unicast and multicast channels
to send and receive monitoring information, provides much more flexible access
control lists, and allows you the power to specify exactly what metric you
want to collect on each machine.

Special thanks to the developers of confuse (
for building such a great file parser.

Configuration analysis gives bandwidth usage
There is a new option for gmond which allows you to get an estimate of
the bandwidth that gmond will use given a particular configuration.
  % ./gmond -b /etc/gmond.conf
  7.945789 bytes/sec

This feature allows you to budget how much bandwidth you will use for
monitoring your machines for a given configuration (see man gmond.conf).

More powerful Access Control mechanism
In the old 2.5.x world, the only access control mechanism available was
a list of trusted_hosts.

Ganglia now supports very elaborate access control lists that allow you
to specify an ip and mask (for filtering subnets) and outline the default
policy (see man gmond.conf for details).

You have complete control over metric collection
The new configuration file format allows you to specify exactly which metrics
are collected. You can also specify custom time and value thresholds per metric at
runtime instead of needing to modify source at compile time.
This flexibility will allow us to easily add alert mechanism in the near future.

RPM names were renamed on Linux
The RPM names have been renamed to make them simpler
  ganglia-monitor-core-gmond    =>   ganglia-gmond
  ganglia-monitor-core-gmetad   =>   ganglia-gmetad
  ganglia-monitor-core-lib      =>   ganglia-devel
  ganglia-webfrontend           =>   ganglia-web
Major cleanup of ganglia-devel
Lots of unnecessary headers where removed from libganglia and a
ganglia-config script was added for application that link against
ganglia (see ganglia-config –help for details).

ganglia-devel now installs only the following files

Solaris gmond doesn’t have to be run as root anymore
Special thanks to Adeyemi Adesanya for switching the Solaris metric gathering code
from kvm to kstat, eliminating the need to run gmond as root. Gmond on Solaris
can now setuid to any user that you like (see man gmond.conf for details).

Mixing different OSes on same channel is okay now
There was a bug in 2.5.x that caused Solaris and HPUX hosts to interpret
metric data from other operating systems incorrectly. You can now mix
any and all supported operating systems on a single communication channel
with no problems.

Fixed the XML DTD
In certain circumstances, gmond would export invalid XML because of too restrictive
of a DTD. The DTD has been updated to prevent this error.

Darwin metric collection greatly improved
Darwin now supports mem_total, bytes_in, bytes_out, pkts_in,
pkts_out, proc_run, disk_total, disk_free and part_max_used
metrics. Special thanks to Sebastian Hagedorn, Glen Beane, Joshua Durham, Eric Wages and Brian Peterson for
their work on MacOS X.

Fixed bug that required Solaris systems to run in debug mode
Gmond wasn’t properly daemonizing on certain Solaris systems requiring
that it be run in debug_mode with the output redirected to /dev/null.
This bug no longer exists.

Fixed a memory leak on FreeBSD
Brooks Davis fixed a memory leak reported by Glen Beane in find_disk_space()
and a potential memory leak in makenetvfslist(). General
clean up of makenetvfslist().

All metric collection functions are in a standalone library
All the metric code has been moved to ./srclib/libmetrics in the ganglia
distribution. Special Thanks to Martin Knoblauch for his hard work in
cleaning up the metric collection code.

Potential memory leak fixed in gmetad
Marcelo Veiga Neves determined how a memory leak was possible for metrics
sent via gmetric. Federico Sacerdoti applied a fix to prevent any leaks.

All web scripts are in the ./web directory of the distribution now
The PHP web scripts have been incorporated into the main ganglia distribution.
Minor bug fixed added by Ramon Bastiaans and Jason Smith.

All communication protocols are now defined in ./lib/protocol.x
To help in integrating ganglia communications into other applications, all
XDR communication formats are defined in ./lib/protocol.x. This XDR description
file can be parsed by rpcgen, for example, to build XDR code for sending
and receiving status messages.

Added a –foreground flag to gmond
Allows you to force gmond to run in the foreground.

Gmetad on Solaris bug fixed
David Wood fixed a bug creating directories on Solaris.

We have deployed a new bugzilla service at This
site was created for you to submit bug reports, feature requests and upload
patches for ganglia.

If you have found ganglia to be useful in your organization, please consider
making a donation to the project at

Thanks for using Ganglia!

The Ganglia Development Team


No Comments