B. GT 4.1.1: WS MDS GKrellm Infomation Provider Reference

1. Overview

The GKrellm Information Provider monitors systems for statistics like memory usage, CPU load, network load and disk load. It does this by communicating with a GKrellmd server, which must be running on all of the machines which are to be monitored. This information provider will collect the data from all specified gkrellmd servers, expose the collected data as a WSRF resource, and publish the resource to the Index Service.

REQUIRED: indicate which module this provider is implemented with (usefulrp or aggregator) and add link.

2. Prerequisites

TODO: list prerequisites

3. Configuring

3.1. gkrellmd.xml

There is one main configuration file for the gkrellm information service and that is: $GLOBUS_LOCATION/etc/globus_wsrf_mds_gkrellm/gkrellmd.xml

This is a very simple configuration file. To monitor a new system simply add a line to the <providers> section that points to the IP and port of the gkrellmd server that is to be monitored. For example if you wish to monitor a host with the IP 192.168.10.150 and there is a gkrellmd server running on the default port 19150 the <providers> would look like:

            <providers>
            <contacts>>192.168.10.150:19150</contact>
            </providers>
        

When the container starts up, the GKrellm Information Provider will parse this file and start attempting to monitor all of the gkrellmd servers pointed to in the <providers> section. If it fails to connect to the server it will retry at regular intervals. To successfully acquire any information there must be a gkrellmd server running on the host.

All information will automatically be published in the DefaultIndexService running within the same container.

3.2. gkrellmd service

As stated above, a gkrellmd server must be running on in order to make this information provider useful. More information on installing and configuring gkrellmd can be found at: http://www.gkrellm.net .

A few basic details are described here. The default configuration file should be located at: /etc/init.d/gkrellmd. There is a section that describes which hosts are allowed to connect to the server and which are not. If you are having trouble getting information, make sure that this host where the container is running is allowed access to the server. Additionally, verify that the max clients is high enough to sustain all of the hosts interested in connecting to the service:

            max-clients 4
            
            # List of hosts allowed to connect.  If no hosts are specified in a
            # gkrellmd.conf file or on the command line, all hosts will be allowed.
            #
            allow-host localhost
            allow-host 127.0.0.1
            allow-host 192.168.10.*
        

If no allow-host lines are listed in the configuration file, the service will be available to all hosts.

3.3. Example Web MDS

Since the resources presented by this service are automatically put into the DefaultIndexService the user can browse the information via Web MDS. Details on this can be found in http://www.globus.org/toolkit/docs.

In addition to this, we provide some simple webmds configuration files. These files can be found at: $GLOBUS_LOCATION/etc/globus_wsrf_mds_gkrellm/gkrellm.xsl.

  1. Copy $GLOBUS_LOCATION/etc/globus_wsrf_mds_gkrellm/gkrellmxsl to $GLOBUS_LOCATION/lib/webmds/conf/gkrellmxsl

  2. Copy $GLOBUS_LOCATION/etc/globus_wsrf_mds_gkrellm/gkrellm.xsl to $GLOBUS_LOCATION/lib/webmds/xslfiles/gkrellm.xsl

  3. Then restart the tomcat container and the information should be available at: http://<tomcat contact>/webmds/webmds?info=indexinfo&xsl=gkrellmxsl

4. Resource Properties

  • Converts information provided by gkrellmd into resource properties which are then published into the Index Service.

    • Hostname
    • System description
    • Uptime
    • gkrellmd version
    • CPU Load information:

      • user space time
      • system space time
      • idle time
      • nice time
      • approximate load
    • Memory Information:

      • Total system memory
      • Used memory
      • Avaiable memory
      • Memory in buffered
      • Cached memory
      • Shared memory
      • Percentage Used
    • Network Information:

      • Total number of bytes ever sent
      • Total number of bytes ever received
      • Number of bytes sent over a given interval
      • Number of bytes received over a given interval
    • Disk Information:

      • Total number of bytes ever written
      • Total number of bytes ever read
      • Number of bytes written over a given interval
      • Number of bytes read over a given interval

4.1. Namespace URI

TODO: Include the Namespace URI, or provide a link to the Java API Documentation, which is required to construct the QName for the subscription to the Topic.

6. Security Considerations

General security considerations associated with the container and all MDS services apply.

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.

Additionally, the user should consider that publishing system-specific information (as is the intention of this provider) can have security ramifications.

7. Testing

TODO: add a simple test for this info provider

8. Troubleshooting

TODO: describe common issues users may experience with this info provider