Monitoring of Cluster Resources: Ganglia

Ganglia is a scalable distributed monitoring system for high-performance computing systems such as clusters and Grids.

  • Download the latest release of the Ganglia Monitoring Core from
  • Install Ganglia into /usr/local/ganglia, its web frontend into _/usr/local/ganglia/html/', and its databases into _/usr/local/ganglia/rrds/'.
  • Install the Ganglia Monitoring Daemon (gmond) on each node, and the Ganglia Meta Daemon (gmetad) on the the head node.

Ganglia Monitoring Daemon

  • Configure, build and install Ganglia on each slave node (only with gmond):
      ./configure --prefix=/usr/local

    and on the master node (with gmond and gmetad):
      ./configure --prefix=/usr/local --with-gmeta
  • Initialise the configuration file for gmond:
      gmond --default >> /etc/gmond.conf
  • Configure the Ganglia Monitoring Daemon in /etc/gmond.conf:
    • Set the name of the cluster:
        cluster {
          name = "ProCKSI" 
    • Set the IP address and port for multicast data exchange:
        udp_send_channel {
          mcast_join =
          port = 8649
        udp_recv_channel {
          mcast_join =
          port = 8649
          bind =
  • Copy start-up script for gmond:
      cp ./gmond/gmond.init /etc/init.d/gmond
  • Add additional route for correct data exchange via multicast using the internal interface (eth0). Modify /etc/inid.d/gmond:
       #Add multicast route to internal interface
       /sbin/route add -host dev eth0
       daemon $GMOND

       #Remove multicast route to internal interface
       /sbin/route delete -host dev eth0
       killproc gmond
  • Make the Ganglia Monitoring Daemon start at bootup.
       /sbin/chkconfig  gmond  on
  • Start the Ganglia Monitoring Daemon:
       /sbin/service  gmond  start

Ganglia Meta Daemon

  • Install and configure the Ganglia Meta Daeomn (gmetad) on the master node.
  • Make the Ganglia Meta Daemon start at bootup.
       /sbin/chkconfig  --add gmetad
       /sbin/chkconfig  gmetad  on
  • Start the Ganglia Meta Daemon:
       /sbin/service  gmetad  start
  • If the pie chart diagrams do not show up, you have to install the php-gd packages.

Further Customisation

In order to display more fine-grained time intervals, edit the following files in /usr/local/ganglia/html/:
  • header.php
      if (!$physical) {
       $context_ranges[]="10 minutes";
       $context_ranges[]="20 minutes";
       $context_ranges[]="30 minutes";
       $context_ranges[]="1 hour";
       $context_ranges[]="2 hours";
       $context_ranges[]="4 hours";
       $context_ranges[]="8 hours";
       $context_ranges[]="12 hours";
       $context_ranges[]="1 day";
       $context_ranges[]="2 days";
  • get_context.php
      switch ($range) {
       case "10 minutes":   $start = -600; break;
       case "20 minutes":   $start = -1200; break;
       case "30 minutes":   $start = -1800; break;
       case "1 hour":       $start = -3600; break;
       case "2 hours":      $start = -7200; break;
       case "4 hours":      $start = -14400; break;
       case "8 hours":      $start = -28800; break;
       case "12 hours":     $start = -43200; break;
       case "1 day":        $start = -86400; break;
       case "2 days":       $start = -172800; break;
       case "week":         $start = -604800; break;
       case "month":        $start = -2419200; break;
       case "year":         $start = -31449600; break;