JON Plugin for Websphere patching

Andreas Veithen andreas.veithen at gmail.com
Mon Jul 11 15:15:57 UTC 2011


On Fri, Jun 10, 2011 at 14:52, Ian Springer <ian.springer at redhat.com> wrote:
> It's not too intensive to write an RHQ plugin. The plugin API is pretty
> easy to work with. It even provides an easy way to do a process table
> search, which you'll be able to use to discover running Websphere instances.
>
> This page provides a great guide on writing RHQ plugins:
>
> http://rhq-project.org/display/RHQ/Plugin+Community
>
> I'd recommend reading that as a starting point.
>
> After that, I would look at the jboss-as plugin (discovers and managed
> JBossAS 3.x and 4.x); it should have a lot of similarities to the
> websphere plugin you want to write - both will discover/manage java app
> servers, both will probably use JMX as the mechanism for discovering
> services, retrieving metrics, and executing operations (and both can
> "extend" the jmx plugin for doing the JMX stuff).

Things are actually a bit more difficult than that. A couple of months
ago I started to write a WebSphere plugin, and the initial design was
indeed very similar to the JBoss AS plugin. However, that evolved over
time and the plugin has now a design that is significantly different.
There are several reasons for that, the most important ones of which
are:
* The JMX plugin uses the MBean object name as resource key and also
uses the saved object name to locate the MBean after discovery. This
will not work on WebSphere because most object names contain key
properties that may change over time. Also, corresponding resources on
a cluster don’t necessarily have the same object name.
* More generally, doing discovery by querying the MBean server is not
the best solution on WebSphere (because some MBeans are only created
lazily or on a single member of a cluster). With WebSphere it is much
smarter to do discovery based on the server configuration (which can
be queried by connecting to the deployment manager).
* Even for custom MBeans, WebSphere automatically adds several key
properties to the object name. That makes it difficult to reuse
existing EMS based plugins. We solved this by inserting a layer
between the WebSphere client and EMS that transparently transforms
object names so that the plugins for these custom MBeans don’t need to
bother about the key properties added by WebSphere.
* The metrics collected by WebSphere are exposed using JSR 77 and a
WebSphere specific API called PMI. There are several reasons to favor
usage of the PMI API in the context of RHQ. In addition there is no
support for JSR 77 in RHQ. This means that the MeasurementFacet
implementation built into the JMX plugin is of little use.
* The EMS library creates an isolated class loader (for the client
libraries) for each connection. However, the WebSphere admin client
libraries are specifically designed to retain compatibility even
across major versions. We currently use a single RHQ agent instance to
monitor 26 WebSphere instances remotely (with 6700 services and 16000
scheduled measurements), with a mix of WAS 6.1 and 7.0. In such a
scenario, loading the WebSphere client libraries (which are quite
heavyweight) 26 times into different class loaders is probably not the
best option.
* WebSphere allows collecting log events remotely via JMX
notifications. However, there are a couple of issues with the support
for notifications in EMS.

> Good luck,
> Ian
>
> On 06/09/2011 12:47 PM, Bill Pulec wrote:
>> I am wondering how intensive writing  a JON plugin to discover the Websphere servers would be. Is extending JON to do that fairly straight forward or would be more involved(I am guessing it would)? Are there mechanisms to easily extend JON's GUI and detection to do this or would it literally be going into JON's source and writing a new GUI and detection system?
>>
>> We're trying to get a good grasp on the difficult and manpower involved in carrying out extending JON with these features.
>>
>> -Bill
>>
>> -----Original Message-----
>> From: rhq-devel-bounces at lists.fedorahosted.org [mailto:rhq-devel-bounces at lists.fedorahosted.org] On Behalf Of John Mazzitelli
>> Sent: Thursday, June 09, 2011 8:08 AM
>> To: rhq-devel at lists.fedorahosted.org
>> Subject: Re: JON Plugin for Websphere patching
>>
>> Yeah, it sounds like when this is implemented:
>>
>> https://bugzilla.redhat.com/show_bug.cgi?id=644328
>>
>> might help. I suppose our current bundle feature might be able to do this, too, but I'm not sure. Something to look into anyway.
>>
>> On 06/08/2011 05:40 PM, Charles Crouch wrote:
>>> Mazz/other provisioning folks, can you comment on this?
>>>
>>> Should Bill be able to use the new provisioning to a server stuff you are looking at, along with a new Websphere plugin to discover the server obviously. Then maybe a sprinkle of CLI to tie this together with the WAS server restart operations?
>>>
>>> Cheers
>>> Charles
>>>
>>> ----- Original Message -----
>>>> I’m attempting to get an estimate on the time and materials that
>>>> would be required for a new plugin to extend JON to patch WebSphere
>>>> libraries. I envision this plugin will allow the administrator to
>>>> select a subset of WAS nodes and a new JAR library to add to the
>>>> nodes, then have JON deploy(these would probably be stored on a
>>>> shared
>>>> drive) the JARs to the correct directories, remove the old version
>>>> and then restart the WAS nodes(in specified order if need be). JON
>>>> would then display status as to the success or failure of the patch.
>>>>
>>>>
>>>>
>>>> Please let me know if you need any more details.
>>>>
>>>>
>>>>
>>>> Thanks,
>>>>
>>>>
>>>>
>>>> Bill Pulec
>>>>
>>>> Amentra Inc., a Red Hat Company
>>>>
>>>> 101 N. Wacker, Suite 150
>>>>
>>>> Chicago, IL 60606
>>>>
>>>> Bill.Pulec at Amentra.com | c. (920)606-2554
>>>>
>>>>
>>>> _______________________________________________
>>>> rhq-devel mailing list
>>>> rhq-devel at lists.fedorahosted.org
>>>> https://fedorahosted.org/mailman/listinfo/rhq-devel
>>> _______________________________________________
>>> rhq-devel mailing list
>>> rhq-devel at lists.fedorahosted.org
>>> https://fedorahosted.org/mailman/listinfo/rhq-devel
>> _______________________________________________
>> rhq-devel mailing list
>> rhq-devel at lists.fedorahosted.org
>> https://fedorahosted.org/mailman/listinfo/rhq-devel
>> _______________________________________________
>> rhq-devel mailing list
>> rhq-devel at lists.fedorahosted.org
>> https://fedorahosted.org/mailman/listinfo/rhq-devel
>
>
> --
> Ian Springer
> Principal Software Developer
> JBoss Operations Network
> Red Hat
> ian.springer at redhat.com
>
> _______________________________________________
> rhq-devel mailing list
> rhq-devel at lists.fedorahosted.org
> https://fedorahosted.org/mailman/listinfo/rhq-devel
>


More information about the rhq-devel mailing list