Ganglia » History » Version 2
Anonymous, 08/19/2008 05:02 PM
Installation Guide: Ganglia
| 1 | 1 | Anonymous | |
|---|---|---|---|
| 2 | 2 | Anonymous | h1. Monitoring of Cluster Resources: Ganglia |
| 3 | 1 | Anonymous | |
| 4 | 2 | Anonymous | _Ganglia is a scalable distributed monitoring system for high-performance computing systems such as clusters and Grids._ |
| 5 | 2 | Anonymous | |
| 6 | 2 | Anonymous | * Download the latest release of the _Ganglia Monitoring Core_ from "http://ganglia.sourceforge.net":http://ganglia.sourceforge.net/. |
| 7 | 2 | Anonymous | * Install Ganglia into _/usr/local/ganglia_, its web frontend into _/usr/local/ganglia/html/', and its databases into _/usr/local/ganglia/rrds/'. |
| 8 | 2 | Anonymous | * Install the _Ganglia Monitoring Daemon_ (gmond) on each node, and the _Ganglia Meta Daemon_ (gmetad) on the the head node. |
| 9 | 2 | Anonymous | |
| 10 | 2 | Anonymous | |
| 11 | 2 | Anonymous | h2. Ganglia Monitoring Daemon |
| 12 | 2 | Anonymous | |
| 13 | 2 | Anonymous | * Configure, build and install Ganglia on each slave node (only with _gmond_): |
| 14 | 2 | Anonymous | <pre> |
| 15 | 1 | Anonymous | ./configure --prefix=/usr/local |
| 16 | 2 | Anonymous | </pre> |
| 17 | 2 | Anonymous | and on the master node (with _gmond_ and _gmetad_): |
| 18 | 2 | Anonymous | <pre> |
| 19 | 1 | Anonymous | ./configure --prefix=/usr/local --with-gmeta |
| 20 | 2 | Anonymous | </pre> |
| 21 | 1 | Anonymous | |
| 22 | 2 | Anonymous | * Initialise the configuration file for _gmond_: |
| 23 | 2 | Anonymous | <pre> |
| 24 | 1 | Anonymous | gmond --default >> /etc/gmond.conf |
| 25 | 2 | Anonymous | </pre> |
| 26 | 1 | Anonymous | |
| 27 | 2 | Anonymous | * Configure the _Ganglia Monitoring Daemon_ in _/etc/gmond.conf_: |
| 28 | 2 | Anonymous | ** Set the name of the cluster: |
| 29 | 2 | Anonymous | <pre> |
| 30 | 1 | Anonymous | cluster { |
| 31 | 1 | Anonymous | name = "ProCKSI" |
| 32 | 1 | Anonymous | } |
| 33 | 2 | Anonymous | </pre> |
| 34 | 2 | Anonymous | ** Set the IP address and port for multicast data exchange: |
| 35 | 2 | Anonymous | <pre> |
| 36 | 1 | Anonymous | udp_send_channel { |
| 37 | 1 | Anonymous | mcast_join = 239.2.11.71 |
| 38 | 1 | Anonymous | port = 8649 |
| 39 | 1 | Anonymous | } |
| 40 | 1 | Anonymous | udp_recv_channel { |
| 41 | 1 | Anonymous | mcast_join = 239.2.11.71 |
| 42 | 1 | Anonymous | port = 8649 |
| 43 | 1 | Anonymous | bind = 239.2.11.71 |
| 44 | 1 | Anonymous | } |
| 45 | 2 | Anonymous | </pre> |
| 46 | 1 | Anonymous | |
| 47 | 2 | Anonymous | * Copy start-up script for _gmond_: |
| 48 | 2 | Anonymous | <pre> |
| 49 | 1 | Anonymous | cp ./gmond/gmond.init /etc/init.d/gmond |
| 50 | 2 | Anonymous | </pre> |
| 51 | 1 | Anonymous | |
| 52 | 2 | Anonymous | * Add additional route for correct data exchange via multicast using the _internal_ interface (_eth0_). Modify _/etc/inid.d/gmond_: |
| 53 | 2 | Anonymous | <pre> |
| 54 | 1 | Anonymous | #Add multicast route to internal interface |
| 55 | 1 | Anonymous | /sbin/route add -host 239.2.11.71 dev eth0 |
| 56 | 1 | Anonymous | daemon $GMOND |
| 57 | 2 | Anonymous | </pre> |
| 58 | 2 | Anonymous | <pre> |
| 59 | 1 | Anonymous | #Remove multicast route to internal interface |
| 60 | 1 | Anonymous | /sbin/route delete -host 239.2.11.71 dev eth0 |
| 61 | 1 | Anonymous | killproc gmond |
| 62 | 2 | Anonymous | </pre> |
| 63 | 2 | Anonymous | * Make the Ganglia Monitoring Daemon start at bootup. |
| 64 | 2 | Anonymous | <pre> |
| 65 | 1 | Anonymous | /sbin/chkconfig gmond on |
| 66 | 2 | Anonymous | </pre> |
| 67 | 2 | Anonymous | * Start the Ganglia Monitoring Daemon: |
| 68 | 2 | Anonymous | <pre> |
| 69 | 1 | Anonymous | /sbin/service gmond start |
| 70 | 2 | Anonymous | </pre> |
| 71 | 1 | Anonymous | |
| 72 | 1 | Anonymous | |
| 73 | 2 | Anonymous | h2. Ganglia Meta Daemon |
| 74 | 2 | Anonymous | |
| 75 | 2 | Anonymous | * Install and configure the _Ganglia Meta Daeomn_ (gmetad) on the master node. |
| 76 | 2 | Anonymous | |
| 77 | 2 | Anonymous | * Make the Ganglia Meta Daemon start at bootup. |
| 78 | 2 | Anonymous | <pre> |
| 79 | 1 | Anonymous | /sbin/chkconfig --add gmetad |
| 80 | 1 | Anonymous | /sbin/chkconfig gmetad on |
| 81 | 2 | Anonymous | </pre> |
| 82 | 2 | Anonymous | * Start the Ganglia Meta Daemon: |
| 83 | 2 | Anonymous | <pre> |
| 84 | 1 | Anonymous | /sbin/service gmetad start |
| 85 | 2 | Anonymous | </pre> |
| 86 | 1 | Anonymous | |
| 87 | 2 | Anonymous | * If the pie chart diagrams do not show up, you have to install the _php-gd_ packages. |
| 88 | 1 | Anonymous | |
| 89 | 1 | Anonymous | |
| 90 | 2 | Anonymous | |
| 91 | 2 | Anonymous | h2. Further Customisation |
| 92 | 2 | Anonymous | |
| 93 | 2 | Anonymous | In order to display more fine-grained time intervals, edit the following files in _/usr/local/ganglia/html/_: |
| 94 | 2 | Anonymous | * *header.php* |
| 95 | 2 | Anonymous | <pre> |
| 96 | 1 | Anonymous | if (!$physical) { |
| 97 | 1 | Anonymous | $context_ranges[]="10 minutes"; |
| 98 | 1 | Anonymous | $context_ranges[]="20 minutes"; |
| 99 | 1 | Anonymous | $context_ranges[]="30 minutes"; |
| 100 | 1 | Anonymous | $context_ranges[]="1 hour"; |
| 101 | 1 | Anonymous | $context_ranges[]="2 hours"; |
| 102 | 1 | Anonymous | $context_ranges[]="4 hours"; |
| 103 | 1 | Anonymous | $context_ranges[]="8 hours"; |
| 104 | 1 | Anonymous | $context_ranges[]="12 hours"; |
| 105 | 1 | Anonymous | $context_ranges[]="1 day"; |
| 106 | 1 | Anonymous | $context_ranges[]="2 days"; |
| 107 | 1 | Anonymous | $context_ranges[]="week"; |
| 108 | 1 | Anonymous | $context_ranges[]="month"; |
| 109 | 1 | Anonymous | $context_ranges[]="year"; |
| 110 | 2 | Anonymous | </pre> |
| 111 | 1 | Anonymous | |
| 112 | 2 | Anonymous | * *get_context.php* |
| 113 | 2 | Anonymous | <pre> |
| 114 | 1 | Anonymous | switch ($range) { |
| 115 | 1 | Anonymous | case "10 minutes": $start = -600; break; |
| 116 | 1 | Anonymous | case "20 minutes": $start = -1200; break; |
| 117 | 1 | Anonymous | case "30 minutes": $start = -1800; break; |
| 118 | 1 | Anonymous | case "1 hour": $start = -3600; break; |
| 119 | 1 | Anonymous | case "2 hours": $start = -7200; break; |
| 120 | 1 | Anonymous | case "4 hours": $start = -14400; break; |
| 121 | 1 | Anonymous | case "8 hours": $start = -28800; break; |
| 122 | 1 | Anonymous | case "12 hours": $start = -43200; break; |
| 123 | 1 | Anonymous | case "1 day": $start = -86400; break; |
| 124 | 1 | Anonymous | case "2 days": $start = -172800; break; |
| 125 | 1 | Anonymous | case "week": $start = -604800; break; |
| 126 | 1 | Anonymous | case "month": $start = -2419200; break; |
| 127 | 1 | Anonymous | case "year": $start = -31449600; break; |
| 128 | 2 | Anonymous | </pre> |