Red Hat Bugzilla – Bug 811288
[as7] create RHQ resources for metrics of managed servers
Last modified: 2013-09-05 12:27:53 EDT
In domain mode, metrics are not obtained on the RHQ resources that are taken for configuration (at /profile=x level ) but at /host=y/server=x/ level).
We need to create a "shadow tree" that lists all the stuff, but only has metrics enabled (except for a hand full of stuff like "flush data source" operation.
The code should be mostly the same (except to determine the base path of /host=y/server=x instead of /host=y/server-config=x , which is used to detect managed servers ), so this is a matter of creating RHQ resource types and only copying over the <metrics> but not e.g. <resource-config>
Here is an example of such update for the Transactions subsystem:
not a blocker for RHQ4.4
Targetting this correctly
All subsystems have now been added to managed server type resource. The only one missing was the web subsystem, but it was resolved by bug 821878.
Most of the subsystem can be found in three locations: standalone, profile and managed servers. For any subsystem, standalone is a superset of profile and managed server operations, metrics and properties; managed servers and profile have disjoint sets. With the current AS7 plugin descriptor, when a resource is discovered for managed servers or profile it will have available extra operations and/or properties. There is currently no solution for this due to plugin platform limitations (it was never designed for such complex inheritance model).
There are currently two subsystem with separate descriptors for the three types of server resources: transactions and data sources. The transactions subsystem was split into three descriptors as a proof of concept to see how feasible this solution would be. Unfortunately, following this pattern will lead to a three fold increase in the number of resource descriptors (three for each subsystem - one for each server type), it will slow down discovery, and it will make the resource descriptor unreadable. For data sources, the split was necessary because of the subsystem complexity (large number of properties and metrics). This is captured by bug 806240.
A different (and more generic) solution will need to be implemented and applied for the rest of the subsystems.
In conclusion, metrics are correctly captured for managed servers' subsystems. However, extra operations and/or properties might be available through the RHQ interface that are not available on the actual AS7 subsystem.
All the subsystem definitions have been updated and separated to target standalone, profile and managed server parents.
release/jon3.1.x branch commits: