Need advice about agent plugin design
by Steven North
I am trying to design an RHQ/JON agent plugin to manage a software
resource with the following characteristics:
- there is the software itself (the installation);
- there are a variable number of "bundles" of configuration information
about 250KB in size each which need to be read from and written to the
agent; and
- there are "log" files which can 10-50MB in size each which need to be
read from the agent.
I think I am pretty clear on how to handle the software itself--just
like any number of other agents.
I am not sure how to handle the configuration bundles and the large log
files.
We might want to have the RHQ/JON server manage different versions of
these configuration files and distribute them to multiple remote agents.
Is there some existing domain object that would handle the read/write
aspect of the configuration bundles (zip files)? Could the "package"
concept be used for these? Would we need to create a new domain object
on the server side for these bundles? If so, is there an example of
this kind of thing?
For the log files, I see some mention of the SupportFacet. Would this
be appropriate for retrieving large log files? Is there an example of this?
We expect to access the configuration bundles and the log files using
remote client operations because we have a separate GUI tool to
build/edit the configuration bundles and to correlate and analyze the
log files. Is there an example of using a remote client to pull files
from and push files to remote agents?
Thanks in advance for any advice you can give or examples you can point to.
Steve
10 years, 1 month
MeasurementUnits (EPOCH_MILLISECONDS, EPOCH_SECONDS)
by Jiri Kremser
Hi,
in plugin descriptor, there can be a metric definition with unit type "epoch_milliseconds" or "epoch_seconds" (rhq-configuration.xsd allows it). What kind of metric should could be represented by epoch_milliseconds? Shouldn't the exact time moments (what values epoch_milliseconds represent) be addressed rather by traits?
I am asking because the values of this type are not formatted (https://bugzilla.redhat.com/show_bug.cgi?id=857144).
I think these two unit types should be removed from MeasurementUnits and xml schema, however there might be some plugins out there using it, so what about deprecation? Are there any edge cases, when these unit types do make sense?
JK
10 years, 2 months
Another strange stacktrace in agent log
by Thomas Segismont
2014-01-30 18:08:15,378 ERROR [InventoryManager.discovery-1]
(rhq.core.pc.inventory.RuntimeDiscoveryExecutor)- Error in runtime discovery
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:926)
at java.util.HashMap$KeyIterator.next(HashMap.java:960)
at
org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.discoverForResource(RuntimeDiscoveryExecutor.java:292)
at
org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.discoverForResource(RuntimeDiscoveryExecutor.java:293)
at
org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.runtimeDiscover(RuntimeDiscoveryExecutor.java:141)
at
org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.call(RuntimeDiscoveryExecutor.java:104)
at
org.rhq.core.pc.inventory.RuntimeDiscoveryExecutor.call(RuntimeDiscoveryExecutor.java:60)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
RuntimeDiscoveryExecutor recent changes:
* perf improvements
* async avail checking
10 years, 2 months
what is this data directory stuff?
by John Mazzitelli
I'm running the embedded agent, and I found that something is getting written into a bad/wrong data directory.
Does anyone know where this is coming from - these are files getting written to ${current working directory}/data....
data/
|_rc/
|_10/
|_10125
|_10122
|_10111
Those files (10125, etc) look like serialized objects - maybe resources or resource containers. The "rc" directory name implies its "Resource Container" ???
I don't know what this "10" subdirectory is.
No matter what, this is getting written in the wrong place, it's not using the configured data directory that the agent was told to use - and now its getting in the "bin" directory of the EAP server when running embedded. We need to fix whatever code is writing this data out, I just don't know what is writing those files.
Idears?
10 years, 2 months
Found a problem related to recent performance branch merge
by Thomas Segismont
I saw this in my agent log:
2014-01-29 18:18:52,689 WARN [Content.discovery-5]
(rhq.core.pc.content.ContentDiscoveryRunner)- Exception received from
component while attempting content retrieval
java.lang.UnsupportedOperationException
at java.util.AbstractCollection.add(AbstractCollection.java:260)
at java.util.AbstractCollection.addAll(AbstractCollection.java:342)
at
org.rhq.core.pc.content.ContentManager.handleDiscoveredContent(ContentManager.java:618)
at
org.rhq.core.pc.content.ContentManager.performContentDiscovery(ContentManager.java:428)
at
org.rhq.core.pc.content.ContentDiscoveryRunner.call(ContentDiscoveryRunner.java:121)
at
org.rhq.core.pc.content.ContentDiscoveryRunner.run(ContentDiscoveryRunner.java:86)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:304)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:178)
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
This is due to
org.rhq.core.pc.inventory.ResourceContainer#getInstalledPackages, which
used to create a new empty set, and now returns Collections#emptySet,
which is immutable.
I'm going to update the code to take this into account, but I wanted to
let you know that such problems could occur anywhere else.
Regards,
Thomas
10 years, 3 months
RHQ patches for 4.10
by Elias Ross
I have patches attached or in comments for the following issues:
Bug 1052390 - Agent NullPointerException (NPE) in
org.jboss.remoting.Client.invoke method
Bug 1053922 - Agent does not set HTTP connect or read timeout in JBoss remoting
Bug 738799 - deleting a group alertdef containing >1000 member
alertdefs fails with "SQLException: ORA-01795: maximum number of
expressions in a list is 1000" error
Bug 997609 - Drift cannot be updated with > 1000 resources; ORA-01795
Bug 1033943 - RFE: Allow setting of DCAwareRoundRobinPolicy for
supporting multiple datacenters
Bug 1031200 - Error rendering metrics chart; Attempt to compare null
values in queryResourceMetrics
I'm wondering if they could be put into 4.10 release?
10 years, 3 months
Bug 840403 - (PRODMGT-454) the plugin for JBoss EAP 6 / AS 7 needs to support SSL/TLS encryption and authentication [INPUT NEEDED]
by Thomas Segismont
Hi,
I've just pushed the initial implementation for Bug 840403 in a topic
branch:
https://git.fedorahosted.org/cgit/rhq/rhq.git/commit/?h=bug/840403&id=3e7...
* I have manually tested different versions of AS7 / EAP6 in Standalone
and Domain modes (including content upload).
* API check passes
* Client Certification authentication support is not implemented yet
* Only valid certificates or self-signed certificates (certificate chain
size is 1) are supported now
AS7 plugin must be able to work with self-signed certificates and
unknown certificate authorities (internal or not common). It also needs
to be able to find a key store for client cert authentication.
I think Standalone and Domain server plugin configurations should let
users define a key and a trust store for maximum customization.
I believe that, by default, self-signed certificates and unknown
certificate authorities should not be trusted.
What do you think?
Thanks,
Thomas
10 years, 3 months
RHQ state of the union January 2014
by Heiko W.Rupp
[ This is the first of a series of postings describing where we stand with RHQ and where we may want to go to. ]
As many of you already know, RHQ is the upstream of JBoss Operations Network (JBoss ON) and so RHQ is following the requirements of JBoss ON.
RHQ has released 4.9 in September 2013 and is due for another release. That next release will include some performance enhancments on inventory syncing and agent footprint as well as a lot of fixes since RHQ 4.9. This next release is supposed to happen within the next month.
The RHQ team recently had a face to face meeting in Brno at the same time that the WildFly team was there as well. There are a few photos available ([1] and [2]) but we missed to create an all-team photo.
Some of the outcomes of that meeting are:
• RHQ source code will definitively be moved from FedoraHosted to GitHub in the near future.
• RHQ will in the future use the JIRA instance at jboss.org instead of Bugzilla (timing unknown at this point).
Those two actions will make it easier to contribute in the future when you already have an account at jboss.org
From a technical standpoint, we will tackle the following in the near to mid term - please comment on the respective wiki pages:
• Audit Subsystem [3]
• "Canned DynaGroup expressions" [4]
• Add support for https connections of the as7-plugin
• Add support Bundles and Drift for the Domain mode of as7/WildFly
• Provide a mechanism for out-of-band signaling of state and events from the agent to the server [7] (the current proposal on the wiki is a first draft to illustrate the idea and needs much more work).
• Implement signaling of as7/WildFly "dirty" state over the mechanism in the previous item
Of course we were also talking about the longer term and here mostly about two items:
• UI: The current dependency on the SmartGWT widget set becomes more and more problematic as SmartGWT is not able to keep up with all the browser changes. In addition, the end of life of GWT DevMode is also reducing our ability to further improve the UI.
We have thus decided to investigate other options like using Angular.JS for further UI work. We will create a separate UI project on the RHQ GitHub account [5] and will create a UI that can be dropped into RHQ to get more insight how such a Angular.JS driven UI could work for RHQ. This Angular UI will talk via the existing REST-interface to the RHQ server.
• Agent: Our current agent is a powerful workhorse, but has its shortcomings. One of those is its runtime footprint that is currently addressed. But even afterwards we want to try to reduce its impact, so that it is easier to run the agent on managed systems.
The other part is that the agent currently is only extensible in Java, while operations people are often much more versed in languages like Python. Also the possibility to ad-hoc define some metrics to be evaluated is rather limited (especially when it comes to arbitrary MBean attributes).
This means that we will evaluate alternatives to the current agent and also to evaluate how the current agent can be enhanced to support polyglot and smaller runtime environments.
In addition to the above we also were talking about enhancing the Alerting subsystem[8] and to introcude a 2-phase-discovery to improve on some of the shortcomings of the current resource discovery [6].
Last but not least we want to thank all contributors for their suggestions, bug reports, enhancement requests and code submissions.
Heiko on behalf of the RHQ team
Links:
[1] https://plus.google.com/114249341487134308671/posts/5nC9PXCDHT8
[2] https://www.facebook.com/media/set/?set=a.250786711757107.1073741829.2505...
[3] https://docs.jboss.org/author/display/RHQ/Audit+Subsystem
[4] https://docs.jboss.org/author/display/RHQ/Canned+DynaGroup+expressions
[5] https://github.com/rhq-project/angular-ui
[6] https://docs.jboss.org/author/display/RHQ/2-phase+discovery
[7] https://docs.jboss.org/author/display/RHQ/Agent-Server-Backchannel
[8] https://docs.jboss.org/author/display/RHQ/Wintermute
This one was posted to
https://community.jboss.org/en/rhq/blog/2014/01/23/rhq-state-of-the-union...
10 years, 3 months