August 25, 2014 · Monitoring, Server ·

Sponsored Link
Ganglia is a scalable distributed monitoring system for high-performance computing systems such as clusters and Grids. It is based on a hierarchical design targeted at federations of clusters. It leverages widely used technologies such as XML for data representation, XDR for compact, portable data transport, and RRDtool 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 thousands of 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.

Preparing your server

First you need to make sure you have Installed ubuntu 14.04 LAMP server

Ganglia consists of two main daemons called gmond (Ganglia Monitoring Daemon) and gmetad (Ganglia Meta Daemon), a PHP-based web front-end and a few other small utilities.

Ganglia Monitoring Daemon (gmond)

The Ganglia Monitoring Daemon (gmond) listens to the cluster message channel, stores the data in-memory and when requested will output an XML description of the state of the cluster

Ganglia Meta Daemon (gmetad)

The Ganglia Meta Daemon (gmetad) collects information from multiple gmond or gmetad data sources, saves the information to local round-robin databases, and exports XML which is the concatentation of all data sources

Ganglia PHP Web Front-end

It displays all the gathered information from the clients in a meaningful way like graphs via web pages.

Install Ganglia on Ubuntu 14.04

Open the terminal and run the following command

sudo apt-get install ganglia-monitor rrdtool gmetad ganglia-webfrontend

During the installation you should see similar to the following related to apache2 server restart after installation select Yes and press enter

1

Configuring Ganglia

Now we have completed the basic installation so we need to configure the required steps

Ganglia Master Node Configuration

Now you need to copy the ganglia webfrontend apache configuration to correct location using the following command

sudo cp /etc/ganglia-webfrontend/apache.conf /etc/apache2/sites-enabled/ganglia.conf

Now you need to edit the ganglia meta daemon configuration file using the following command

sudo vi /etc/ganglia/gmetad.conf

Change the following

data_source "my cluster" localhost

to

data_source "my cluster" 50 192.168.56.10:8649

A list of machines which service the data source follows, in the format ip:port, or name:port. If a port is not specified then 8649 (the default gmond port) is assumed.

Need to edit the master node configuration file using the following command

sudo vi /etc/ganglia/gmond.conf

Do the following changes

/* If a cluster attribute is specified, then all gmond hosts are wrapped inside
* of a tag. If you do not specify a cluster tag, then all will
* NOT be wrapped inside of a tag. */
cluster {
name = "unspecified"
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}

to

cluster {
name = "my cluster"
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}

/* Feel free to specify as many udp_send_channels as you like. Gmond
used to only support having a single channel */
udp_send_channel {
mcast_join = 239.2.11.71
port = 8649
ttl = 1
}

to

/* Feel free to specify as many udp_send_channels as you like. Gmond
used to only support having a single channel */
udp_send_channel {
# mcast_join = 239.2.11.71
host = 192.168.56.10
port = 8649
ttl = 1
}

/* You can specify as many udp_recv_channels as you like as well. */
udp_recv_channel {
mcast_join = 239.2.11.71
port = 8649
bind = 239.2.11.71
}

to

/* You can specify as many udp_recv_channels as you like as well. */
udp_recv_channel {
# mcast_join = 239.2.11.71
port = 8649
#bind = 239.2.11.71
}

Save and exit the file

Now you need to restart the services

sudo /etc/init.d/ganglia-monitor start
sudo /etc/init.d/gmetad start
sudo /etc/init.d/apache2 restart

Now you can access the gnglia webinterface using the following command

http://serverip/ganglia/

2

Ganglia clients Installation

You need to install the following client package on all the servers you want to monitor

sudo apt-get install ganglia-monitor

Ganglia Client Configuration

You need to edit the gmond.conf file using the following commands

sudo vi /etc/ganglia/gmond.conf

Do the following changes

/* If a cluster attribute is specified, then all gmond hosts are wrapped inside
* of a tag. If you do not specify a cluster tag, then all will
* NOT be wrapped inside of a tag. */
cluster {
name = "unspecified"
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}

to

cluster {
name = "my cluster"
owner = "unspecified"
latlong = "unspecified"
url = "unspecified"
}

/* Feel free to specify as many udp_send_channels as you like. Gmond
used to only support having a single channel */
udp_send_channel {
mcast_join = 239.2.11.71
port = 8649
ttl = 1
}

to

/* Feel free to specify as many udp_send_channels as you like. Gmond
used to only support having a single channel */
udp_send_channel {
# mcast_join = 239.2.11.71
host = 192.168.56.10
port = 8649
ttl = 1
}

/* You can specify as many udp_recv_channels as you like as well. */
udp_recv_channel {
mcast_join = 239.2.11.71
port = 8649
bind = 239.2.11.71
}

to

/* You can specify as many udp_recv_channels as you like as well. */
#udp_recv_channel {
# mcast_join = 239.2.11.71
# port = 8649
#bind = 239.2.11.71
#}

Save and exit the file

Now you need to restart the ganglia monitor service

sudo /etc/init.d/ganglia-monitor restart

Sponsored Link

4 Comments to “Install Ganglia on Ubuntu 14.04 Server (Trusty Tahr)”

  1. Trevor Mack says:

    The problem I keep running into I can’t find the solution around as I don’t have too much knowledge of the internal workings of the ganglia-webfrontend php application. The issue that I am having is that after installing and configuring all the packages required (and mentioned here) I navigate locally to “:/ganglia” but then get presented with a page containing “Sorry, you do not have access to this resource…. (some code regarding Dwoo) … There was an error initializing the Dwoo PHP Templating Engine The compile directory should be owned and writable by the apache user.”

    Do you know what compile directory this is? I have looked and changed access to a number of directories related to ganglia and ganglia-web, but still getting this message.

  2. Syd Logan says:

    I’m seeing the same thing. The compiled directory is /var/lib/ganglia-web/dwoo/compiled. I figured this out by adding some debug prints to the dwoo code itself (basically, added some LOGs and then went looking for the logs in /var/log/apache2 to see what directory it was complaining about.

    I’ve tried various things like cd’ing to /var/lib and then running:

    sudo chown -R www-data:www-data ganglia-web; sudo /etc/init.d/apache2 restart but nothing has worked so far. I’ll update here if I hit on anything.

  3. Syd Logan says:

    I was able to get this working. What I did was start with a fresh copy of Ubuntu 14.04.2, and before installing I ran the following:

    # sudo apt-get update

    Possibly whatever was at issue with dwoo got cleared up in an update. But it is working fine for me now!

  4. swati jadav says:

    we are not able to add node in ganglia.

Leave a Reply

  • Recent comments