Ganglia (software)

from Wikipedia, the free encyclopedia
Ganglia

Screenshot
Ganglia at Wikimedia
Basic data

Current  version 3.7.2
(June 14, 2016)
operating system platform independent
programming language C , Perl , PHP , Python
category Network monitoring
License BSD license
www.ganglia.info

Ganglia is a scalable, distributed system monitoring tool for high-performance computing systems such as clusters and grids . It enables the user to request live or historical statistics (e.g. mean value of the CPU load or network utilization) for all monitored machines remotely.

Ganglia

Ganglia emerged from the Millennium Project at the University of California, Berkeley , and is based on a hierarchical design of cluster associations. It relies on a multicast- based list / announce protocol to monitor the status in the cluster. It creates a tree of point-to-point connections between representative cluster nodes and uses widely used technologies such as XML for data display, XDR for compact, portable data transport and RRDtool for data storage and visualization. It uses carefully designed data structures and algorithms at a very low per-node cost to achieve high parallelism. The implementation is robust and has been ported to an extensive list of operating systems and processor architectures. Ganglia is currently in use on over 500 clusters around the world. It has been used to connect clusters in universities and around the world and can operate in clusters of 2000 nodes.

The ganglia system consists of two unique services, a PHP-based web front end, and a few other small utilities.

Ganglia Monitoring Daemon (gmond)

Gmond is a multi-threaded daemon that runs on every cluster node to be monitored. Installation does not require a shared NFS file system or database back-end, nor the creation of specific user accounts or the maintenance of configuration files.

Gmond has four main roles:

  1. Monitoring of changes in the cluster network.
  2. Publish relevant changes.
  3. Listening to the status of all other nodes via a ganglia unicast or multicast channel.
  4. Output of the cluster status in XML format.

Each gmond conveys information in two different ways:

  • the node status is sent in unicast or multicast procedures in XDR format using UDP messages.
  • Sending XML data takes place via a TCP connection.

Ganglia Meta Daemon (gmetad)

The network in Ganglia takes place via a tree of point-to-point connections between representative cluster nodes of the aggregated nodes of several clusters. A Ganglia Meta Daemon (gmetad) works at every node in the tree, periodically requesting a list of subordinate data sources, analyzing the collected data and exporting it to the client as aggregated XML via a TCP socket. Data sources can be either gmond demons, which represent a particular cluster, or other gmetad demons, which represent sets of clusters. The data sources use source IP addresses for access control and can be used for failover using multiple IP addresses . The latter option is to aggregate the data from clusters, since each gmond daemon contains the entire state of the cluster.

Ganglia PHP web front end

The Ganglia web front end offers a view of the data collected via dynamic web pages in real time. The web front end shows the Ganglia data in a meaningful way for system administrators and computer users. Ganglia's web front end started as a simple HTML view of the XML structure and has evolved into a colorful system that contains all of the data it collects.

The Ganglia web frontend is aimed at system administrators and users . For example, it visualizes the CPU utilization during the last hours, days, weeks, months or years. 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; it offers data from several Ganglia sources. The web front end opens the local port 8651 (standard) and expects a Ganglia XML structure from there, which is displayed on a clear website, but requires that the full XML structure be parsed on every page. Hence, the Ganglia web front end should run on a fairly powerful, dedicated machine when presenting a large amount of data.

The Ganglia web frontend was developed in the PHP scripting language and uses graphs that gmetad generates to display the progress. It has been tested on many systems, Unix (mainly Linux) with the Apache web server and PHP 4.1.

Web links

Individual evidence

  1. http://ganglia.info/?p=619
  2. Ganglia :: Wikimedia Wikimedia Cloud Report ( Memento from January 26, 2007 in the Internet Archive )
  3. https://www.millennium.berkeley.edu/
  4. Ganglia Monitoring System