How to dual JVM configuration



With the increased availability of large systems with typically 8 or more processors, 16 GB of memory and terabytes of disk space, it becomes necessary to consider re-configuring GroundWork Monitor Enterprise to take advantage of these resources in large deployments. GroundWork Monitor Enterprise was developed and optimized for dual core 4-8 GB systems and the usual optimizations (threadpools, heap space allocations). As such, it won't take full advantage of a large system with the default deployment.

This document describes the steps necessary to reconfigure GroundWork Monitor Enterprise for large systems. This configuration can be used with systems that have:

This configuration requires version 7.1.1 or 7.1.0 and newer. Please do not apply any of these changes to previous releases. It will probably break and won't be supported.
How It Works

We separate the UI and the backend into separate JVMs, each of which can be given several gigabytes of RAM. Some service ports change so that the two JVMs have their own places to do business.

  1. GroundWork Monitor 7.1.1 or 7.1.0 installation successfully operating.
  2. Message preprocessing setup according to the Bookshelf page Preprocessing Log Messages. We suggest the pre-processing of LogMessages by Operation Status for the default views. This reduces load significantly on the PostgreSQL database instance.
  3. The hardware requirements for this capability are the same or better as described in the overview.
  4. You need nagios user privilege.
Installation Steps

Please reserve at least an hour downtime for performing this installation and have all the users logged out of the GroundWork portal.

Before you install
  • During the installation, the GroundWork server will be stopped and started. So you probably want to wait until a maintenance period before making these changes.
  • This installer will create a backup of modified files (7.1.1.single-jboss.backup.tgz or 7.1.0.single-jboss.backup.tgz). Please make a note of this tar ball and save it for future restoration process.

To install on a GroundWork server where the single-instance JBoss AS system is deployed, do the following:

Configuration Information (after successfully converting to dual JBoss):
  • The Foundation HTTP port is moved from 8080 to 8180. Any custom scripts accessing Foundation (via SOAP or REST) via localhost:8080 need to be manually changed to localhost:8180. If accessing via hostname:80 they should be fine.
  • Portal log4j config: /usr/local/groundwork/foundation/container/jpp/standalone/configuration/standalone.xml
  • Portal logs: /usr/local/groundwork/foundation/container/jpp/standalone/log/framework.log
  • Foundation log4j config: /usr/local/groundwork/foundation/container/jpp2/standalone/configuration/standalone.xml
  • Foundation logs: /usr/local/groundwork/foundation/container/jpp2/standalone/log/framework.log
  • JOSSO log4j config: /usr/local/groundwork/josso-1.8.4/conf/
  • JOSSO authentication logs: /usr/local/groundwork/josso-1.8.4/logs/catalina.out
  • If you have configured SSL or LDAP, it should be working as usual. This installer will not change any of your SSL or LDAP configurations.
Verification Steps

The following command will now show 3 JVMs running: 2 JBoss instances, and 1 Tomcat instance.

ps -ef | grep java
Uninstall Steps

If you want to revert back to single-instance JBoss AS configuration, go to the folder where you have saved the 7.1.1.single-jboss.backup.tgz or 7.1.0.single-jboss.backup.tgz the file and run the following commands sequentially:

service groundwork stop
Adjust the following command if using version 7.1.0 replacing 7.1.1.
tar -xzvf 7.1.1.single-jboss.backup.tgz -C /
mv /usr/local/groundwork/foundation/container/jpp2/standalone/deployments/foundation-webapp.war /usr/local/groundwork/foundation/container/jpp/standalone/deployments/
mv /usr/local/groundwork/foundation/container/jpp2/standalone/deployments/legacy-rest.war /usr/local/groundwork/foundation/container/jpp/standalone/deployments/
rm -rf /usr/local/groundwork/foundation/container/jpp2
rm -rf /usr/local/groundwork/jpp2
sed -i '/foundation-webapp/d' /usr/local/groundwork/nagvis/etc/nagvis.ini.php
find /usr/local/groundwork/ -name "*.rptdesign" -exec sed -i 's/localhost:8180\/foundation-webapp/localhost:8080\/foundation-webapp/g' {} \;
service groundwork start