DSfW Monitoring with Ganglia

Server monitoring is a growing need in most enterprise class setups. To design a tool that effectively monitors and displays information is a daunting task. With the growing acceptance of monitoring applications like Ganglia and Nagios, server monitoring has been simplified.

This document discusses the monitoring solution of a DSfW server using Ganglia.

What is Ganglia

Ganglia is a server monitoring application which is useful in getting information about various metrics. It has three major components: gmetd, gmond, and the web interface.

gmetd is an information collection service. It can be configured to fetch information from other 'gmetd' services running on a different server, to give a centralized monitoring solution. This service polls the gmond service to provide information and then stores it locally. This data is used by the web interface to generate the UI.

gmond is a monitoring information gathering service. This service enables you to define the metrics and generate the data associated with the defined metrics.. This service interacts with the gmetd service to provide the information that is requested.

The web interface enables users to get the information based on the metric definition done with gmond. It can be launched by typing the following in a Web browser: http://localhost/gweb/.


The ganglia service is installed by default on OES11SP2 servers. The gmetd and gmond service uses start up scripts rcnovell-gmetd and rcnovell-gmond.

Monitoring need for DSfW

Domain Services for Windows is the suite of services which provide Active Directory like authentication. It also provide services such as support for Sites, group policies, and user management support using MMC.

As DSfW is having many deamons which interacts with each other, there are situations which need to be monitored closely. Typically, when issues such as unstable servers are encountered, the administrators remain unaware or they become aware of such situations too late.

With Ganglia like monitoring application on a DSfW server, we can closely monitor the DSfW server. It can be configured to extract critical information about the DSfW server which will be helpful to the administrator.

Enabling Ganglia Monitoring on DSfW Server

This section describes the python-based metric definition for DSfW server. For detailed information on writing python based-modules, see: http://sourceforge.net/apps/trac/ganglia/wiki/ganglia_gmond_python_modules.

The python metric module must be written and placed under: /opt/novell/ganglia/monitor/lib64/ganglia/python_modules/

The pyconf extension file for the metric module must be defined and placed under: /etc/opt/novell/ganglia/monitor/conf.d/

DSfW Monitoring Example

Given below is an example of the monitoring metric definition for a DSfW server. This example describes how to obtain the domain controller count.

Step 1:

The python metric module file is defined under /opt/novell/ganglia/monitor/lib64/ganglia/python_modules/. The module file appears similar to the following will look like:

import commands
import ConfigParser
def read_ini(key) :
config = ConfigParser.ConfigParser()
value = config.get("DefaultXADConfig", key)
return value
def count_dc(name):
domain_name = read_ini(“Root Domain”)
cmd = 'dig -t SRV _ldap._tcp.dc._msdcs.%s short | wc -l'%domain_name
output = commands.getstatusoutput(cmd)
return (output[1])
def metric_init(params):
global descriptors
d1 = {'name': 'dc_count',
'call_back': count_dc,
'time_max': 90,
'value_type': 'string',
'slope': 'both',
'format': '%s',
'description': 'DC count',
'groups': 'domain'}
descriptors = [d1]
return descriptors

def metric_cleanup():
'''Clean up the metric module.'''

Step 2:

Now the dsfw_info.pyconf has to be defined and placed under /etc/opt/novell/ganglia/monitor/conf.d/. This appears similar to the following:

modules {
module {
name = "dsfw_info"
language = "python"

collection_group {
collect_every = 1
time_threshold = 10
metric {
name = "dc_count"
title = "DC-Count"

Step 3:

Restart novell-gmond on the server using:

# rcnovell-gmond restart

You can now view the information from the ganglia web interface. Launch it using the link : http://localhost/gweb. The localhost can be replaced with the appropriate ip address or host FQDN of the server followed by 'gweb'.

After the page is displayed, you can choose the metric "dc_count" and scroll down to see the information about this metric.

This is a very basic metric definition which is to provide information about domain controller count. Similarly, this approach can be extended to see more critical information about the DSfW server.


How To-Best Practice
Comment List
    I wish that OES would quit trying to reinvent the wheel for monitoring.
    Instead of adding yet another monitoring service that requires yet another agent - why not start using the agent that is built into every SLES server you install onto - SNMP.
    Then you can be monitored by every standards based monitoring tool in existence.
    Ganglia looks like a 10 year old monitoring tool, not a modern, integrated system.
    We do not need yet another standalone app - get with the program and get OES integrated with the rest of our networks.