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
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 "hadoop" 50 192.168.45.127: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 = "hadoop"
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.45.127
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 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
参考:
https://www.digitalocean.com/community/tutorials/introduction-to-ganglia-on-ubuntu-14-04
http://blog.csdn.net/yangning5850/article/details/8646775
http://www.ubuntugeek.com/install-ganglia-on-ubuntu-14-04-server-trusty-tahr.html