Sponsored Link
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
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
* NOT be wrapped inside of a
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/
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
* NOT be wrapped inside of a
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
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.
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.
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!
we are not able to add node in ganglia.