- Ganglia (software)
Infobox Software
name = Ganglia
caption =
author =
developer =
released =
latest release version = 3.1.0
latest release date =July 30 ,2008
latest preview version =
latest preview date =
operating system =Cross-platform
platform =
language = English
genre = Distributed monitoring
license =BSD license
website = [http://www.ganglia.info/ www.ganglia.info]Ganglia is a scalable distributed monitoring system for high-performance computing systems such as clusters and grids. It allows the user to remotely view live or historical statistics (such as CPU load averages or network utilization) for all machines that are being monitored.
Ganglia
It is based on a hierarchical design targeted at federations of clusters. It relies on a
multicast -based listen/announce protocol to monitor state within clusters and uses a tree of point-to-point connections amongst representative cluster nodes to federate clusters and aggregate their state. It leverages widely used technologies such asXML for data representation, XDR for compact, portable data transport, andRRDtool for data storage and visualization. It uses carefully engineered data structures and algorithms to achieve very low per-node overheads and high concurrency. The implementation is robust, has been ported to an extensive set of operating systems and processor architectures, and is currently in use on over 500 clusters around the world. It has been used to link clusters across university campuses and around the world and can scale to handle clusters with 2000 nodes.The ganglia system comprises two unique daemons, a
PHP -based web front-end, and a few other small utility programs.Ganglia Monitoring Daemon (gmond)
"Gmond" is a multi-threaded daemon which runs on each cluster node you want to monitor. Installation is easy. You don't have to have a common NFS filesystem or a database back-end, install special accounts, maintain configuration files or other annoying hassles.
Gmond has four main responsibilities:
# Monitor changes in host state.
# Announce relevant changes.
# Listen to the state of all other ganglia nodes via a unicast or multicast channel.
# Answer requests for an XML description of the cluster state..Each gmond transmits in information in two different ways:
*Unicast ing orMulticast ing host state in external data representation (XDR) format using UDP messages.
* Sending XML over a TCP connection.Ganglia Meta Daemon (gmetad)
Federation in Ganglia is achieved using a tree of point-to-point connections amongst representative cluster nodes to aggregate the state of multiple clusters. At each node in the tree, a Ganglia Meta Daemon (gmetad) periodically polls a collection of child data sources, parses the collected XML, saves all numeric, volatile metrics to round-robin databases and exports the aggregated XML over a TCP sockets to clients. Data sources may be either gmond daemons, representing specific clusters, or other gmetad daemons, representing sets of clusters. Data sources use source
IP address es for access control and can be specified using multiple IP addresses for failover. The latter capability is natural for aggregating data from clusters since each gmond daemon contains the entire state of its cluster.Ganglia PHP Web Front-end
The Ganglia web front-end provides a view of the gathered information via real-time dynamic web pages. Most importantly, it displays Ganglia data in a meaningful way for system administrators and computer users. Although the web front-end to ganglia started as a simple
HTML view of the XML tree, it has evolved into a system that keeps a colorful history of all collected data.The Ganglia web front-end caters to
system administrator s and users. For example, one can view the CPU utilization over the past hour, day, week, month, or year. The web front-end shows similar graphs for memory usage, disk usage, network statistics, number of running processes, and all other Ganglia metrics.The web front-end depends on the existence of the gmetad which provides it with data from several Ganglia sources. Specifically, the web front-end will open the local port 8651 (by default) and expects to receive a Ganglia XML tree. The web pages themselves are highly dynamic; any change to the Ganglia data appears immediately on the site. This behavior leads to a very responsive site, but requires that the full XML tree be parsed on every page access. Therefore, the Ganglia web front-end should run on a fairly powerful, dedicated machine if it presents a large amount of data.
The Ganglia web front-end is written in the
PHP scripting language, and uses graphs generated by gmetad to display history information. It has been tested on many flavours ofUnix (primarilyLinux ) with the Apache webserver and the PHP 4.1 module.External links
* [http://www.ganglia.info/ Ganglia official site]
* [http://ganglia.sourceforge.net/ Ganglia on Sourceforge]
* [http://freshmeat.net/projects/ganglia/ Ganglia on Freshmeat]
* [http://www.ibm.com/developerworks/wikis/display/WikiPtype/ganglia Ganglia HowTo]
* [http://www.groundworkopensource.com/products/components/ganglia.html How Ganglia Works with GroundWork Monitor]
Wikimedia Foundation. 2010.