Install Ganglia on Ubuntu 16.04 Server (Xenial Xerus)
Sponsored Link
Preparing your server
First you need to make sure you have Installed ubuntu 16.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 16.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