8.2 Configuring Ganglia

Ganglia is an open source monitoring tool that collects server metrics and graphically displays their trends over the past hour, day, week, month, or year. It shows similar graphs for memory usage, disk usage, network statistics, number of running processes, and all other Ganglia metrics. The Ganglia Monitoring daemon (gmond) has a low overhead and does not impact user performance.

The Ganglia UI has embedded help to guide you in using the services on each tab. For additional information, see Ganglia Monitoring System on the web.

8.2.1 Ganglia Requirements

Ganglia requires the following settings in order to display the server health statistics:

Port 8649

If a firewall is enabled on the server, you must open port 8649 in order to use Ganglia. By default, the gmond daemon communicates on UDP port 8649, and the gmetad daemon downloads metrics data over TCP port 8649. The port is specified in udp_send_channel, udp_recv_channel, and tcp_accept_channel parameters in the /etc/opt/novell/ganglia/monitor/gmond.conf file. If you have firewall rules that block traffic on those ports, your metrics do not show up in the monitoring dashboard. You must restart the Ganglia gmond and gmetad daemons after you open the port in the firewall.

  1. Log in to the server as the Linux root user, then open a terminal console.

  2. Open port 8649 in the firewall. Enter

    SuSEfirewall2 open EXT UDP 8649
    SuSEfirewall2 open EXT TCP 8649
    
  3. Restart gmond and gmetad. Enter

    rcnovell-gmond stop
    rcnovell-gmetad stop
    rcnovell-gmetad start
    rcnovell-gmond start
    

Time Synchronization

If your Ganglia server monitors the health of multiple computers, ensure that the time on the gmond server is correct and matches the gmetad that is collecting data. The timestamp used to update the gmetad round-robing database (RRD) files are in the Universal Time Coordinated (UTC) standard, which is the international time standard.

Consider using the same Network Time Protocol (NTP) time source on the group of machines in order to keep their time synchronized. NTP is an industry standard. It ensures accurate timekeeping by synchronizing clocks to UTC time. If a firewall is enabled on the servers, ensure that you open the firewall on UDP port 123 to allow NTP traffic. After you configure NTP, delete the current gmetad round-robin databases (RRDs) in the /var/opt/novell/ganglia/rrds subdirectories, and then restart gmond and gmetad.

  1. Log in to the server as the Linux root user, then open a terminal console.

  2. Open port 123 in the firewall. Enter

    SuSEfirewall2 open EXT UDP 123
    
  3. Configure NTP on the server.

    For information about configuring NTP, see Time Services in the OES 11 SP3: Planning and Implementation Guide.

  4. In a file browser, delete the current gmetad round-robin databases (RRDs) in the /var/opt/novell/ganglia/rrds directory.

  5. Restart gmond and gmetad. Enter

    rcnovell-gmond stop
    rcnovell-gmetad stop
    rcnovell-gmetad start
    rcnovell-gmond start
    

8.2.2 Configuring Ganglia gmond in Multicast Mode or Unicast Mode

Ganglia uses the gmond daemon to gather health monitoring statistics. It keeps a cache of all metrics in memory. Ganglia uses the gmetad daemon to periodically poll the gmond daemon to store the metrics in a storage engine. By default, Novell Remote Manager configures Ganglia in multicast mode. Both the gmond daemon and the gmetad run on the same server.

The gmond daemon can alternatively be configured in unicast mode. You can also configure it to monitor in groups of servers, called Ganglia clusters. For more information, see the Ganglia Quick Start Guide on the Ganglia Project website.

Using Ganglia in Multicast Mode

By default, the Ganglia gmond daemon is configured in multicast mode, and that is how it is installed for Novell Remote Manager. Ganglia settings for gmond are in the /etc/opt/novell/ganglia/monitor/gmond.conf file.

The gmond daemon’s global parameters are set for it to be both a sender (mute=no) and a receiver (deaf=no). The gmond daemon aggregates all metrics sent to it from other hosts running Ganglia in the same IP subnet, or in the same Ganglia cluster (if configured). There is no need to list every single host, because a gmond set in receive mode automatically contains the list of all hosts and metrics in the subnet (or in the same Ganglia cluster, if configured). Metrics and their metadata (metric groups, types and so on) are sent separately. If Ganglia is restarted while using multicast mode, gmond servers can talk to each other, and will ask for metadata if it is missing.

Ganglia settings for gmetad are in the /etc/opt/novell/ganglia/monitor/gmetad.conf file. Its root directory for the round-robin databases (RRDs) is the /var/opt/novell/ganglia/rrds directory. The data source for the localhost is named Grid-Node, and its metrics RRD files are found in the /var/opt/novell/ganglia/rrds/Grid-Node directory.

You can turn off multicasting to view statistics only for the single server where you are logged in to Novell Remote Manager. For more information, see Configuring gmond for Server-Centric Monitoring.

Using Ganglia in Unicast Mode

Unicast mode has less traffic than multicast mode does, but it is more complex to configure. In unicast mode, the default behavior for handling metadata is as follows:

  • The gmond daemon sends metadata only when it is started.

  • If Ganglia is restarted while using unicast mode, metadata is discarded and its corresponding metrics data are also discarded.

  • Ganglia does not ask for metadata if it is missing.

The unicast behavior might result in blank graphs on the host-view page if the collecting gmond is restarted while working in unicast mode. Restarting all of the non-collector gmond daemons makes the metric graphs reappear; however, this might not be feasible for large Ganglia clusters. If you use the unicast mode to monitor multiple servers, you should enable the global parameter send_metadata_interval in the /etc/opt/novell/ganglia/monitor/gmond.conf file, and set it to something other than 0. A setting of 30 to 60 seconds works in most environments. Setting this variable to a non-zero value makes the gmond processes periodically announce their metrics, and the graphs reappear on the host-view page.

For more information about configuring Ganglia in unicast mode, see the Ganglia Quick Start Guide on the Ganglia Project website.

Configuring gmond for Server-Centric Monitoring

You can modify the /etc/opt/novell/ganglia/monitor/gmond.conf file to set up Ganglia to monitor only its own statistics as a single server.

  1. Log in to the server as the root user.

  2. Open the /etc/opt/novell/ganglia/monitor/gmond.conf file in a text editor.

  3. Find the section udp_send_channel and replace it with the following:

    udp_send_channel {
      #bind_hostname = yes
      #mcast_join = 239.2.19.61
      host = <server_hostname>
      port = 8649
      #ttl = 1
    }
    

    You comment out the mcast_join parameter and the ttl parameter.

    You add the host parameter and set it to the hostname for the server, such as avalon. You can get the server’s host name from the command line with the following command:

    hostname --fqdn
    
  4. Find the section udp_recv_channel and replace it with the following:

    udp_recv_channel {
      #mcast_join = 239.2.19.61
      port = 8649
      #bind = 239.2.19.61
    }
    

    You comment out the mcast_join parameter and the bind parameter.

  5. Save and close the file.

  6. Open a terminal console, and then stop and start both gmond and gmetad:

    rcnovell-gmond stop
    rcnovell-gmetad stop
    
    rcnovell-gmetad start
    rcnovell-gmond start