This blog is a continuation of “Managing JBoss Application Server 7 with System Center Operations Manager 2012 R2: Part 1 - Standalone Mode” found here .
As a reminder, JBoss Application Server 7 can be booted in two distinct operating modes: standalone and domain mode. The first blog covered a walkthrough of the standalone mode and this blog covers a walkthrough of domain mode.
Originally the plan was to use the JBoss Application Server 7.1.0.Final for both walkthroughs, but what better way to celebrate the new management packs than with the new Widlfly 8.2 - Generally available since November 20 th , 2014.
Important to note: most of the steps detailed for Wildfly translate to JBoss Application Server 7 and JBoss Enterprise Application Server.
My environment in this walkthrough consists of three Ubuntu 14.04 LTS 64-bit servers managed by System Center Operations Manager 2012 R2 w/ Update Rollup 4 installed. For more details on managing a Linux machine with System Center Operations Manager please refer to the following blog post .
Additionally, all the new JEE Management Packs for JBoss Application Server and Wildfly have been imported. For steps on obtaining and importing the JEE Management Packs refer to the previous blog post section - “Obtaining the Java EE Management Pack and JBoss MP Guide - found here
Domain mode for JBoss Application Server and Wildfly allow multiple application server instances to be managed from a single control point. The application servers managed from that control point are referred to as members of the domain. Domains have the ability to span application servers running on single or multiple OS instances. A domain configuration is made up of the following entities.
Entity |
Description |
Host Controller |
All application servers running on a host server are controlled by a single process called the host controller. The host controller interacts with a domain controller to control application server instances. |
Domain Controller |
The domain controller is a repurposed host controller that acts as the central government for all domain instances. The domain controller enables interfaces allowing communication with managed host controllers. |
Application Servers |
The application server is the base part of the JBoss and Wildfly domain installation. The application servers instance contains and runs Java applications.
When we manage JBoss and Wildfly in domain mode we report individual application server metrics. |
Profile |
Profiles contain general settings and configurations - e.g full profile versus full high availability profile. |
Server Group |
Server groups are defined by the domain controller. Each application server instance is part of a server group. Server groups are associated with profiles that allow for a server to associate with a specific configuration. |
My environment consists of three Ubuntu 14.04 LTS 64-bit servers: ubuntu-wildfly-1, ubuntu-wildfly-2, and ubuntu-wildfly-3. The server ubuntu-wildfly-1 acts as a domain controller while ubuntu-wildfly-2, and ubuntu-wildfly-3 are host controllers each with two application servers - for a total of four application servers.
The profile we use for our setup is the default “full” profile and the server-group the four application servers belong to are the default “main-server-group”. Finally the data enumerated in Operations Manager console are four independent application server instances.
wget http://download.jboss.org/wildfly/8.2.0.Final/wildfly-8.2.0.Final.zip |
unzip wildfly-8.2.0.Final.zip |
cd ~/wildfly-8.2.0.Final/domain/configuration/ |
Traditionally a domain controller’s only role is to manage and govern the domain. A default Wildfly installation includes two application servers when a domain instance is started. For our setup we remove these two default application servers from the host configuration file.
The management user is created on the domain controller for use with the host controllers. Each host controller uses this management user to connect to the domain controller.
cd ~/wildfly-8.2.0.Final/bin/ |
domain.sh -b 10.30.68.91 -Djboss.bind.address.management=10.30.68.91& |
cd ~/wildfly-8.2.0.Final/domain/configuration |
cp host.xml host.original.xml |
mv host-slave.xml host.xml |
cd ~/wildfly-8.2.0.Final/bin/ |
./domain.sh -b 10.30.68.68
|
One of the advantages of having a domain environment is it is easy to deploy an application to multiple application servers
mv ~/BeanSpy.HTTP.NoAuth.war ~/BeanSpy.war |
./jboss-cli.sh --controller=10.30.68.91:9990 -c |
/profile=full/subsystem=security/security-domain=opsmgr:add(cache-type=default) |
deploy ~/BeanSpy.war --server-groups=main-server-group |
deployment-info --name=BeanSpy.war |
Out of the box JBoss standalone and domain mode are supported when using default files domain.xml, standalone.xml, and host.xml. If you are using specific configurations specified during boot time such as alternate bind-addresses or configuration files the easiest work around is to manually discovery the application server. Manual discovery has been available since 2010 and has allowed non-standard Java EE installations to be monitored. For more information on Manual discovery check out Christopher Crammond’s blog post
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.