6.1
Table Of Contents
- Endpoint Operations Management Agent Plug-in Development Kit
- Contents
- About the Endpoint Operations Management Agent Plug-in Development Kit
- Introduction to Plug-in Development
- The Role of the Server and Agent in Plug-ins
- Technical Overview
- Plug-in Implementations
- Using Support Classes to Simplify a Plug-in
- Writing Plug-ins
- JMX Plug-in
- Script Plug-ins
- SNMP Plug-in
- JMX-Based Management
- Auto-Discovery of JMX Resources
- Configuration Properties for JMX Monitoring
- Creating a Custom JMX Plug-in
- Defining Service Types to Provide Management via Custom MBeans
- Defining an ObjectName to Access Custom MBeans
- Defining Configuration Properties to Appear in the User Interface
- Defining and Gathering Metrics
- Specifying the Availability Metric for MBeans
- Implementing Control Actions
- Defining the Server Auto-Inventory Element
- Discovering Custom Properties
- Running and Testing Plug-ins from the Command Line
- Using Auto-Discovery Support Classes in Plug-ins
- Working with Plug-in Descriptors
- Plug-In Support Classes
- Index
You can use the following to reference the jmx schema in a plug-in descriptor.
<config include="jmx"/>
Creating a Custom JMX Plug-in
A JMX plug-in consists solely of an XML descriptor. You can include various components in the descriptor.
Defining Service Types to Provide Management via Custom MBeans
Each server type defines several service types such as EJBs, Connection Pools and JMS Queues. Custom
plug-ins define additional service types to provide management via custom MBeans.
The service element defines a service type, for example:
<service name="String Cache"
server="Sun JVM"
version="1.5">
</service>
The server attribute must be Sun JVM and the version attribute must be 1.5, or any of the other supported
server/version combinations. The name attribute is the choice of the plug-in implementor.
These services will become part of the inventory model, displayed together with the built-in server service
types in the user interface and the shell. Service extensions also inherit the server configuration properties
that are used to connect to the MBeanServer, jmx.url, jmx.username and jmx.password.
Defining an ObjectName to Access Custom MBeans
To access custom MBeans, the plug-in must define its JMX ObjectName to be used with various MBeanServer
interface methods.
Only one ObjectName is defined per-service type using the property tag within the service tag.
<property name="OBJECT_NAME"
value="Catalina:type=StringCache"/>
Defining Configuration Properties to Appear in the User Interface
All the configuration properties for a JMX plug-in, appear in the user interface for the object. The default
values for each of these properties can be specified in the plug-in, but users can change the values by editing
the resource identifiers in the vRealize Operations Manager user interface.
If there is only one instance of the String Cache, you can hard-code a property. If you are using multiple
instances that follow the OBJECT_NAME pattern, you use configuration properties to support them.
For example, the WebApp Cache plug-in uses an ObjectName with the following pattern,
<property name="OBJECT_NAME"
value="Catalina:type=Cache,host=*,path=*"/>
where the ObjectName Domain is always Catalina and type attribute value is always Cache, but the host and
path attributes differ for each instance of the MBean.
The WebApp Cache plug-in defines configuration options for each of the instance properties.
<config>
<option name="host"
description="Host name"
default="localhost"/>
<option name="path"
Endpoint Operations Management Agent Plug-in Development Kit
22 VMware, Inc.