Group/Cluster UI

Content Subsystem

This demo shows how the content subsystem within RHQ is capable of cataloging and distributing content to many different types of resources. The demo shows how RHQ can install a JBossAS cumulative patch as well as supporting yum-updates of Linux updates.

High Availability - Affinity Groups

Process Monitoring

If you have a custom application or generic process running in your environment that you want to monitor, but there does not yet exist a specific RHQ plugin to manage that application or process, you are not out of luck! There are a few out-of-box options you can use to perform general process monitoring. These demos show you how you can tell RHQ to manage and monitor any process running in your environment.

The first demo shows you how you can use the Script plugin to manage an application that has a command line interface. You can use this to determine if your application is up or down and you can use it to invoke the application's command line executable or script with any command line options you want in order to manage the application.
(view) (download)

The second demo shows you the process monitoring feature that allows you to monitor any process running on your machines, whether or not they have a command line interface. This can be used to inform you if your managed process is up or down, and it can collect some metrics on the managed process, such as CPU utilization, memory consumption, and file descriptor usage.
(view) (download)

Server Plugins

RHQ is introducing a major new feature - server plugins. Just as you can plug functionality into the RHQ agent using agent plugins, you now have similar capabilities in the server. Using server plugins, you have access to the full breadth and depth of functionality that the core RHQ Server code has, without having to modify core code. With a minimum of a single Java POJO bundled with an XML descriptor, you can extend RHQ server functionality in areas you couldn't with the agent plugins. See the demos for an illustration of the potential that server plugins open up.

Byteman Agent Plugin

RHQ is called a management "platform" because it is intended to be extended via agent plugins to manage any manageable resource. As an exercise to demonstrate this concept, a "Byteman plugin" has been developed. Byteman is a powerful debugging and tracing tool that can be used to inject test code into any running Java virtual machine. It is very easy to use, yet very powerful. By providing an RHQ plugin for Byteman, it is easy to see how RHQ was extended to provide a management GUI for Byteman, thus allowing you to do things such as enabling and disabling debugging code within your application, without having to recompile or even restart your application.

Provisioning / Bundles

RHQ can now provision what it calls "bundles". Bundles are nothing more than files of content that you wish to install on remote machines. RHQ will manage your versioned bundles, allowing you to install and upgrade them, while providing audit history of what content was and is installed on your remote platforms.

This demo uses a combination of bundles and server plugins to install, configure, and run a Cassandra cluster on a single machine for development and testing.
(view)

Watch this demo to see how the fine-grained security model can be used to restrict access to the bundle provisioning feature.
(view) (download)

Alerting and Remote Script Execution

RHQ has the ability to invoke operations on any resource when it triggers alerts. Combine this with the Script plugin and you have a very powerful mechanism to integrate your own processes and rules to help correct or workaround abnormal conditions that occur in your managed environment.

This demo shows how you can execute any script on a remote machine when an alert is triggered by RHQ. For example, if you set up an alert that detects when your app server is using an abnormally large number of threads (a possible indication of heavy load), you can have RHQ execute a custom script on your app server machine to help alleviate problems that might occur due to that condition (such a script could be one that reconfigures a load balancer to help redirect load away from your app server).