Abstract
The Ganglia Information Provider collects information from two sources: the scheduler and the cluster information system (for example Ganglia or Hawkeye) using the XML mapping of the GLUE schema and reports it to a GRAM4 service, which publishes it as resource properties. The information from the scheduler and the cluster will be merged to form a single output resource property in the GLUE schema. The official Ganglia site states the following:
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
This provider publishes information such as the following:
basic host data (name, ID)
memory size
OS name and version
file system data
processor load data
other basic cluster data
You can download a PDF version of Ganglia Information Provider information here.
Table of Contents
Table of Contents
The Ganglia Information Provider collects information from two sources: the scheduler and the cluster information system (for example Ganglia or Hawkeye) using the XML mapping of the GLUE schema and reports it to a GRAM4 service, which publishes it as resource properties. The information from the scheduler and the cluster will be merged to form a single output resource property in the GLUE schema. The official Ganglia site states the following:
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
This provider publishes information such as the following:
basic host data (name, ID)
memory size
OS name and version
file system data
processor load data
other basic cluster data
Features new in release 4.2.0:
This provider publishes information such as the following: basic host data (name, ID), memory size, OS name and version, file system data, processor load data, other basic cluster data.
This information provider depends on the following GT components:
This information provider depends on the following 3rd party software:
- A working Perl installation
- A working Ganglia (gmond) installation
Tested Platforms for this information provider:
- N/A
Tested containers for this information provider
- Java WS Core container
See Chapter 2, GT 4.2.0: Ganglia Information Provider Reference for more information about this information provider.
Table of Contents
The Ganglia Information Provider collects information from two sources: the scheduler and the cluster information system (for example Ganglia or Hawkeye) using the XML mapping of the GLUE schema and reports it to a GRAM4 service, which publishes it as resource properties. The information from the scheduler and the cluster will be merged to form a single output resource property in the GLUE schema. The official Ganglia site states the following:
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
This provider publishes information such as the following:
basic host data (name, ID)
memory size
OS name and version
file system data
processor load data
other basic cluster data
This information provider is included in the GT4 toolkit and is used for reporting GLUE Computing Element (CE) information. The GLUE resource property (as used by GRAM) collects information from two sources: the scheduler and the cluster information system (for example Ganglia or Hawkeye). These will be merged to form a single output resource property in the GLUE schema.
The following configuration is required to use this information provider
Make sure usefulRP is enabled (enabled by default in 4.2.0+): Find the service's or resource's
server-config.wsddfile, in this case$GLOBUS_LOCATION/etc/globus_wsrf_mds_index/server-config.wsdd, and make sure there is a DefaultIndexService Handler section similar to the following (if it is not there, you can copy and paste the following):<service name="DefaultIndexService" provider="Handler" use="literal" style="document"> <parameter name="providers" value="org.globus.mds.usefulrp.rpprovider.ResourcePropertyProviderCollection org.globus.wsrf.impl.servicegroup.ServiceGroupRegistrationProvider GetRPProvider GetMRPProvider QueryRPProvider DestroyProvider SetTerminationTimeProvider SubscribeProvider GetCurrentMessageProvider"/> <parameter name="rpProviderConfigFile" value="/etc/globus_wsrf_mds_usefulrp/gluece-rpprovider-sample-config.xml"/> <parameter name="scope" value="Application"/> <parameter name="allowedMethods" value="*"/> <parameter name="handlerClass" value="org.globus.axis.providers.RPCProvider"/> <parameter name="className" value="org.globus.mds.index.impl.DefaultIndexService"/> <wsdlFile>share/schema/mds/index/index_service.wsdl</wsdlFile> </service>Verify two things:
In the
providersection, one of the values should beorg.globus.mds.usefulrp.rpprovider.ResourcePropertyProviderCollectionThere should be an
rpProviderConfigFileparameter with the OS-native file path to an RPProvider config file. There should be a sample included by default. You can add to this config file or make your own config file and just make sure the path is updated here. This file contains all required information for generating one or more Resource Properties for the hosting service or resource.
Enable the provider: Edit the RPProvider config file that was specified in the previous step to include the config block for Ganglia. The following configures the GLUE Resource Property provider with element producers using Ganglia to provide cluster information and PBS for scheduler information. This sample configures the provider to generate cluster information using Ganglia on the localhost with the default Ganglia port, and configures PBS as the scheduler information provider. The period of execution is set to 300 seconds for each element producer, but may be configured separately if desired. This configuration mirrors a common information provider setup in the GRAM4 ManagedJobExecutable service. You can also use a command line client to generate a new configuration file. For more information, see FIXME. Using the RPProvider Framework, it is possible to generate this information in other services as well:
<ns1:ResourcePropertyProviderConfigArray xsi:type="ns1:ResourcePropertyProviderConfigArray" xmlns:ns1="http://mds.globus.org/rpprovider/2005/08" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <ns1:resourcePropertyProviderConfiguration xsi:type="ns1:resourcePropertyProviderConfig"> <ns1:resourcePropertyName xsi:type="xsd:QName" xmlns:mds="http://mds.globus.org/glue/ce/1.1">mds:GLUECE</ns1:resourcePropertyName> <ns1:resourcePropertyImpl xsi:type="xsd:string">org.globus.mds.usefulrp.rpprovider.GLUEResourceProperty</ns1:resourcePropertyImpl> <ns1:resourcePropertyElementProducers xsi:type="ns1:resourcePropertyElementProducerConfig"> <ns1:className xsi:type="xsd:string">org.globus.mds.usefulrp.glue.GangliaElementProducer</ns1:className> <ns1:arguments xsi:type="xsd:string">localhost</ns1:arguments> <ns1:arguments xsi:type="xsd:string">8649</ns1:arguments> <ns1:period xsi:type="xsd:int">300</ns1:period> <ns1:transformClass xsi:type="xsd:string">org.globus.mds.usefulrp.rpprovider.transforms.GLUEComputeElementTransform</ns1:transformClass> </ns1:resourcePropertyElementProducers> <ns1:resourcePropertyElementProducers xsi:type="ns1:resourcePropertyElementProducerConfig"> <ns1:className xsi:type="xsd:string">org.globus.mds.usefulrp.rpprovider.producers.SchedulerInfoElementProducer</ns1:className> <ns1:arguments xsi:type="xsd:string">libexec/globus-scheduler-provider-pbs</ns1:arguments> <ns1:transformClass xsi:type="xsd:string">org.globus.mds.usefulrp.rpprovider.transforms.GLUESchedulerElementTransform</ns1:transformClass> <ns1:period xsi:type="xsd:int">300</ns1:period> </ns1:resourcePropertyElementProducers> </ns1:resourcePropertyProviderConfiguration> </ns1:ResourcePropertyProviderConfigArray>Restart the container: The information should now appear when querying the Index Service using [wsrf-query].
The configuration file format for the ResourcePropertyProviderCollection operation provider is simply the XML-serialized form of the ResourcePropertyProviderConfig stub object, as defined in the schema file rpprovider.xsd.
On resources running Ganglia:
Change working dir to
$GL/etc/gram-service-PBS(or-LSF, or-Condor, depending what you installed)Run
mds-gluerp-configure pbs ganglia
If you're not using PBS, look for
$GLOBUS_LOCATION/globus-scheduler-provider-*. Use the value that appears there. You should see the following output:Successfuly wrote configuration output file to: gluerp-config.xml
If Ganglia is running on the same (local) host as the container, and on the default port, then you can stop here. Otherwise, you will need to edit the
gluerp-config.xmlfile to change the host and/or port. Open the file and look for the following lines:<ns1:className xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">org.globus.mds.usefulrp.glue.GangliaElementProducer </ns1:className> <ns1:arguments xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">localhost</ns1:arguments> <ns1:arguments xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:type="xsd:string">8649</ns1:arguments>The last two
ns1:argumentslines are the host and port parameters, respectively. Change them to match your Ganglia installation host and port.
The data gathered is published as part of the GLUECE RP
General security considerations associated with the container and all MDS services apply. See: Aggregator Framework.
By default, the aggregator sources do not use authentication credentials -- they retrieve information using anonymous SSL authentication or no authentication at all, and thus retrieve only publicly-available information. If a user or administrator changes that configuration so that a service's aggregator source uses credentials to acquire non-privileged data, then that user or administrator must configure the service's aggregator sink to limit access to authorized users.
Once gmond is running and your configuration is complete, restart the container and the information should appear when querying the Index Service using wsrf-query.