This demo project showcases some of the most common use cases regarding JBoss Operations Network, Red Hat's leading enterprise middleware systems management tooling (more information on JON can be found here: http://www.redhat.com/de/technologies/jboss-middleware/operations-network).
- Automated provisioning of resources (e.g. JBoss Enterprise Application Platform)
- Integration of custom JMX MBeans into JON
The resources provided with this showcase are intended as a starting point and shall help you to setup these use cases in your own JBoss Operations Network environment.
- JBoss Operations Network (JON)
Follow the official installation instructions for JON V3.3 here: https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Operations_Network/3.3/html/Installation_Guide/index.html
- Apache Maven
You will need to install Apache Maven for building the source code for this showcase. Please follow the installation instructions here: http://maven.apache.org/download.cgi
- Benefits
This use case describes how to create a standardised JBoss Enterprise Application Platform (EAP) installation package. In terms of JON this is a so called "Bundle". This Bundle can then be provisioned to a target system (or even multiple) in a highly automated fashion.
More information on the provisioning features can be found in the official JON documentation: https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Operations_Network/3.3/html/Users_Guide/part-Deploying_Applications_and_Content.html.
- Showcase components
-
eap-bundle - This project provides the core ingredients for creating a bundle to provision instances of JBoss Enterprise Application Platform V6.3.
-
Installation
-
Deploy the bundle to a target system ![Deploy Bundle - Define Destination](./doc/11_provisioning_03_deploy_bundle_02_define destination.png)
- Benefits
It is a very common scenario that your applications have been enhanced with MBeans for management, runtime configuration or even monitoring capabilities. JBoss Operations Network allows you to integrate these MBeans into its management environment, which actually means that you can then leverage JON's full systems management and monitoring capabilities:
- Historical monitoring of your MBeans
- Dashboarding and alerting
- Execution of MBean operations
- Showcase components
-
helloworld-mbean - JEE application that shows different ways of exposing MBeans (taken from EAP quickstarts at https://github.com/jboss-developer/jboss-eap-quickstarts/).
-
custom-jmx-plugin - JBoss Operations Network Agent plugin that integrates custom MBeans (provided by helloworld-mbean) via JMX into JON's monitoring & dashboarding.
-
Installation
Build the application with Maven:
# OPTIONAL: Copy the provided settings.xml to your local maven conf dir
cp ./doc/settings.xml ~/.m2/
# Start the build
cd ./helloworld-mbean
mvn clean install
# Hot deploy the application to an instance of JBoss EAP
# you could use the instance that has been provisioned in the use case "Automated provisioning of resources"
cp ./helloworld-mbean-webapp/target/jboss-helloworld-mbean-helloworld-mbean-webapp.war <EAP_INSTALLATION_DIR>/standalone/deployments
Build the application with Maven:
# OPTIONAL: Copy the provided settings.xml to your local maven conf dir
cp ./doc/settings.xml ~/.m2/
# Start the build
cd ./custom-jmx-plugin
mvn clean install
Deploy the agent plugin:
cp ./target/custom-jmx-plugin-1.0-SNAPSHOT.jar <JON_SERVER_INSTALL_DIR>/plugins/
The JON server periodically scans the "plugins" directory for updates and will pickup the agent plugin after some time, which is finally pushed to the connected JON agents. The agents might need to be restarted to detect the plugin after initial installation.
In the end you should see a service group called "Myapp Services" that contains the applications' MBeans. You can now start to add the contained metrics to custom dashboard, define alerts on it and so on.
- JBoss Operations Network Plugin Development Guide - https://access.redhat.com/documentation/en-US/Red_Hat_JBoss_Operations_Network/3.3/html/Writing_Custom_Plug-ins/index.html
- RHQ Agent Plugin HowTo - http://rhq-project.github.io/rhq-agent-plugin-plugin/index.html
- JBoss EAP Quickstarts - https://github.com/jboss-developer/jboss-eap-quickstarts/