RHQ provides administration, monitoring, alerting, operational control and configuration in an enterprise setting with fine-grained security and an advanced extension model.
About the Project
|Getting Involved||If you wish to get involved as a contributor to RHQ, please visit #rhq channel on Freenode IRC and get to know people.|
|Developers||Our developers are always looking for the community to get involved. Whether it is ideas for improvement, documentation, contributed plugins or core development. Check the Contributions page on the RHQ wiki|
|Community||Our user mailing list and our developer mailing list are the main channels of communication between all community members. You can also join the team on IRC (#rhq on irc.freenode.net).|
|Knowledge||User docs and developer resources can be found on the RHQ wiki.|
|Project Status||RHQ uses the Red Hat Bugzilla issue tracker to organize and prioritize tasks. Development effort is done in RHQ Project which includes Jopr Project that is specific to JBoss technology management. |
RHQ Project | Open Issues | Source code GIT repository
|Professional Support||Red Hat delivers the enterprise Support, Consulting, and Training that you need whether you are testing a proof of concept, deploying a mission-critical application, or rolling out JBoss Middleware products across your enterprise. The JBoss Operations Network a fully supported enterprise product for monitoring and managing JBoss middleware products that is based on RHQ.|
RHQblogs about the RHQ project
- Running the RHQ-agent on a Raspberry PI [updated]
- Feb 13, 2014 3:57 AM by Heiko Rupp
And it turned out that this was dead simple, as the Pi already has Java 1.7 installed (in the Raspbian Wheezy distro that I am using). Thus it was only a matter of laying down the rhq-agent, and starting it the usual way.
Now there was one caveat: the agent did not find any file systems or network interfaces etc. This is due to the fact that there is no native library for Sigar on arm v6 cpus supplied with the agent.
I cloned Sigar from its git repository, changed into the 1.6 branch and built that library myself.
Now after dropping
libsigar-arm-linux.sointo the agent's lib/ directory, the native library is available and on agent restart all the native stuff could be found.
(Platform details in RHQ)
If you don't want to compile that library yourself, you can take my version from https://sourceforge.net/projects/rhq/files/rhq/misc/.
I will try to get that library into the upcoming RHQ 4.10 release, but can't promise anything.Update
If you run the agent from current master (or upcoming RHQ 4.10), you can configure a list of plugins to be enabled, so that the agent only uses these plugins (and thus uses less memory and starts faster).
This property can be found in the file
<entry key="rhq.agent.plugins.enabled" value="Platforms,JMX,RHQAgent"/>
The entries are a comma separated list of plugin (short) names. To determine those, you can run
plugins infoat the agent command prompt:
> plugins info
Details of the plugins that are currently installed:
Plugin Name: RHQAgent
Display Name: RHQ Agent
Last Updated: 14. Februar 2014 11:03:35 MEZ
File Size: 51.558 bytes
MD5 Hashcode: f7eb7577af667ee4883437230e4b2d8c
Summary of installed plugins:
[RHQAgent, Platforms, JMX]
The short names are the ones encoded as "Plugin Name" and which are also shown on the summary line. There has actually been a property to disable unwanted plugins for a longer time, but just enabling the ones needed is probably easier.
The other thing you should do it to remove the
-Xmssetting in the
rhq-agent.shscript- the default of a 64MB minimum heap is just too large here.
With those 3 plugins above and the removed
Xmssetting, my agent has a committed heap of ~14MB and a used heap of ~11MB. A dump is/was 4MB in size.
P.S.: “Raspberry Pi" is a trademark of the Raspberry Pi Foundation
- Back from OneDayTalk
- Nov 2, 2013 6:12 AM by Heiko Rupp
[ I should have already written this a bit earlier, but I had some trouble with my left knee and had to go through some surgery (which went well). ]
As in the previous years I have been invited to give a talk at the OneDayConference in Munich. This year it was in a new location in a suburb of Munich called Germering. Getting there was easy for me, as there is a S-Bahn stop almost in front of the conference location.
The new location featured more and larger rooms and especially an area to sit down between talks or during lunch time. As in the last years the conference featured three parallel tracks.
As I said before I like that conference as everything is like a big family event with the organizers and also the presenters which featured many JBoss Colleagues; while I wrote that Ray would be there, Andrew Rubinger replaced him. The only talk that I really attended was the Wildfly one from Harald Pehl, which was full house. In the remaining part of the conference I talked to various attendees and colleagues from Jan Wildeboer to Gavin King and Heiko Braun. Heiko gave me an introduction about his (and Harald's) work to generate UIs from descriptors (which they use in the Wildfly console), which looks very interesting and where I think we could use some of that inside of RHQ to create "wizards" for several types of target resources.
In my talk, which was in the last slot, I had around 30 attendees (which was around 1/3 of the attendees still present). To my surprise I found out that the large majority did not yet know or use RHQ, so I had to switch from my original agenda and gave a brief introduction into RHQ first. Next I talked about the recent changes in RHQ and tried to gather feedback for future use case, but that was of course harder with attendees not knowing too much about RHQ. So much for "know your audience".
How do others try to find out their audience when the only thing they know is "This conference is all about JBoss projects" ?
You can find my slides in AsciiDoc format on GitHub that you can render via AsciiDoctor to html presentation.
- Beware of the empty tag
- Nov 1, 2013 2:20 PM by Heiko Rupp
I started playing with AngularJS lately and made some progress with RHQ as backend data source (via the REST api). Now I wanted to write a custom directive and use it like this:
<div id="graph" style="padding: 10px"></div>
Now the very odd thing (for me) was that in the DOM this looked like this:
<div id="graph" style="padding: 10px"></div>
My custom directive wrapped around the
To fix this I had to turn my tag in a series of opening and closing tags instead of the empty one:
<div id="graph" style="padding: 10px"></div>
And in fact it turns out that a few more tags like the popular
<div>tag show the same property of not allowing to write an empty tag, but requiring a tag pair.
- OneDayTalk conference in Munich
- Oct 10, 2013 7:13 AM by Heiko Rupp
OneDayTalk is a pretty nice little conference organized by the JBoss User Group Munich, that offers three tracks with 6 sessions each, where I usually have the problem that I can't divide myself into three to visit them all. And for 99 Euro you also get some good food and many opportunities to meet myself and other JBossians like Eric Schabell, Gavin King, Emanuel Muckenhuber, Heiko Braun or Ray Ploski. The conference web site has the full listing of speakers as well as the scheduled program.
- More clever builds and tests ?
- Sep 13, 2013 5:29 AM by Heiko Rupp
when you have already tried to build RHQ and run all the tests you probably have seen that this may take a huge amount of time, which is fine for the first build, but later when you e.g. change a typo in the as4-plugin, you don’t want GWT being compiled again.
Of course as a human developer it is relatively easy to just go into the right folder and only run the build there.
Now on build automation like Jenkins this is less easy, which is why I am writing
What I want to have is similar to
if a class in GWT has changed, only re-build GWT
if a class in a plugin has changed, only rebuild and test that plugin
(and perhaps dependent plugins like hibernate on top of jmx)
if a class in enterprise changes, only build and test enterprise
if a class in server/jar changes, only rebuild that and run server-itests
if a class in core changes, rebuild everything (there may be more fine grained rules as e.g. a change in core/plugin-container does not require compiling GWT again)
This is probably a bit abbreviated, but you get the idea.
What I can imagine is that we compile the whole project (actually we may even do incremental compiles to get build times further down and may also only go into a specific module (and deps) and just build those).
And then instead of running
mvn installwe run
mvn install -DskipTests
and afterwards analyze what has changed, throw the above rules
at it and only run the tests in the respective module(s).
We could perhaps have a little DSL like (which would live in the root of the project tree and be in git)
test: [ modules/plugins/as7-plugin,
And have them evaluated in a clever way by some maven build helper
that parses that file and also the list of changes since the last build to
figure out what needs testing.
We can still run a full build with everything to make sure that we don’t loose coverage
by those abbreviations
There may be build systems like gradle that have this capability built in; I think for maven
this requires some additional tooling
Are there any "canned" solutions available?
Has anyone already done something like "partial tests" (and how)?
Anyone knows of maven plugins that can help here?
Anyone interested in getting that going? This is for sure not only interesting for RHQ but for a lot of projects
Having such an infrastructure will also help us in the future to better integrate
external patches, as faster builds / tests can allow to automatically test those and
- View more rhq