6.1

Table Of Contents
Management Functions and Classes for Object Types
A plug-in can perform one or more management function for each object type that it manages.
For example, the Tomcat plug-in enables autodiscovery, metric collection, log tracking, control operations
for Tomcat 5.5 and 6.0 servers, and one or more management functions for Tomcat connectors and Web
applications.
For each management function, the descriptor specifies the class, support libraries, or external JAR that a
plug-in uses to perform that function. For example, the Tomcat plugin uses
org.hyperic.hq.product.jmx.MxServerDetector to discover Tomcat instances.
The available management functions include the following.
Plug-in Management Function Description
Discover resources and resource
data
Discovers running instances of and object type and collects object data. For example,
an Apache server's build date and the path to its executable.
Obtain metrics Measures or collects metrics that reflect the availability, throughput, and utilization
of an object instance.
Monitor log files Monitors log files for messages that match specified filter criteria, such as severity
level or text that the message includes (or does not include).
Monitor configuration files Monitors specific files for changes.
Inventory and Configuration Data for Object Types
For each object type that the plug-in manages, the descriptor defines the resource data that the plug-in uses,
including data that the plug-in requires so that it can discover a resource, such as the address of an MBean
server, or object attributes that the plug-in discovers.
Metrics to Collect for Each Object Type
The plug-in descriptor specifies each metric that the plug-in obtains for each object type it manages.
For example, the Tomcat plug-in obtains "Availability", "Current Thread Count" and "Current Threads
Busy" metrics for a "Thread Pools" service. The rules for obtaining a metric are defined in a structured
expression referred to as a metric template. A metric template identifies the target metric by the name the
relevant measurement class returns it, and provides the data the class requires to obtain the metric (e.g., the
resource's JMX ObjectName).
Structure of a Plug-in Descriptor
The structure of a plug-in descriptor is the same as the hierarchy of the object types that the plug-in
manages, expressed in terms of the inventory model.
A plug-in descriptor contains a <platform> , <server> , or <service> object element for each object type that
must be managed. The object element hierarchy in the descriptor must reflect relationships between the
managed object types. For example, a <server> element for a Tomcat type contains (is the parent of) the
<service> element for the Vhost type.
In the following table, the left column illustrates all of the object element relationships that are valid in a
plug-in descriptor. Elements that map to object types are shown in bold. No element attributes are shown,
and some lower level elements are excluded. The child elements below each object type element are used to
define the object data, plug-in functions, and metrics for that object type. The right column illustrates the
descriptor structures for resource hierarchies of varying depth.
Endpoint Operations Management Agent Plug-in Development Kit
48 VMware, Inc.