Some javascript/style in this post has been disabled (
why?)
Greetings.
I'm happy to submit my first patch to the JMXCollector
code for your review.
This patch adds support for the definition of Composite
Attributes and desirable members to be collected, within
jmx-datacollection-config.xml. The ConfigFactory changes parse those XML
elements and store then using a special naming convention:
"Attribute|member"
The collector will recognize this convention and trigger
composite attribute processing which can be summarized as follows:
- reconstruct a sane attribute list to pass to the mbean
server.
- query mbean server for the attributes
- check attributes against compositeAttributes list
(Stored by the ConfigFactory) to find composite data in the
list
- construct keylist of desired attribute
members
- process composite data; store desirable members
The patch has undergone preliminary testing in my lab,
and 1 round of performance tuning (in consideration of the scale at which I plan
to deploy this patch).
The patch includes changes to the opennms start script
to enable JMX on the opennms-jvm on port 18980 (arbitrary choice) and configures
monitoring and collection of this service as part of the default configuration.
This is totally extraneous, and only included to facilitate easy review and
testing of the code. By that I mean:
- checkout 1.7.5 clean from svn
- apply patch,
- build.sh install assembly:attached;
- untar; edit startup config to define opennms.home (or
root.dir depending on build options);
- install/run;
- collection starts in less than 5 minutes
In conversation with 'joed' on IRC a few nights back, he
suggested I draft a 'spec doc' that contains a use case and such. I must
confess I know little of such things, but I tried to compose my thoughts into an
ODT doc to help clarify my approach.
Both my patch, and the spec doc are in a ZIP file,
attached to this email. Please feel free to provide comments and
feedback.
Regards,
Steve Hillier
------------------------------------------------------------------------------
_______________________________________________
Please read the OpenNMS Mailing List FAQ:
http://www.opennms.org/index.php/Mailing_List_FAQopennms-devel mailing list
To *unsubscribe* or change your subscription options, see the bottom of this page:
https://lists.sourceforge.net/lists/listinfo/opennms-devel