Skip to main content
ServiceEnterprise
Availability2014.1

Before You Begin

Compatibility checks first

Configure Tomcat

Tomcat settings for Germain

Configure the Datastore

Connections and JDBC driver

Configure Email

SMTP for alerts and reports

Deploy GermainUX Enterprise on Apache Tomcat

Overview

GermainUX Enterprise can be deployed on Apache Tomcat within your organization’s data center, private cloud, or cloud account. This deployment includes the central services used to:
  • Configure monitoring and automation
  • Receive and process telemetry
  • Query the GermainUX datastore
  • Provide Workspace, dashboards, reports, and Session Replay
  • Manage users, alerts, integrations, and system configuration
This guide covers a traditional Tomcat deployment. For container-orchestrated environments, use the Kubernetes or OpenShift deployment guides.

Architecture

A typical GermainUX Enterprise deployment includes: ActiveMQ is not supported for current GermainUX releases beginning with 2024.2. It applies only to older deployments.

Before You Begin

Confirm with Germain Software:
  • GermainUX version
  • Supported Java version
  • Supported Tomcat version
  • Supported datastore and driver
  • Kafka, Hazelcast, and ZooKeeper requirements
  • Required server distribution
  • License
  • Hardware sizing
  • Network ports
  • Authentication method
  • High-availability architecture
Do not independently upgrade Tomcat, Java, Kafka, Hazelcast, ZooKeeper, or the datastore without confirming compatibility.

Requirements

Prepare:
  • A supported 64-bit operating system
  • Supported JDK
  • Supported Apache Tomcat
  • GermainUX Server distribution
  • GermainUX license
  • Prepared configuration database
  • Prepared datamart or Elasticsearch cluster
  • Kafka
  • Hazelcast and ZooKeeper when required
  • SMTP account
  • DNS name and TLS certificate
  • Service account
  • Required JDBC drivers
  • Network connectivity between all components
See:
1

Prepare the datastore

2

Install and configure ZooKeeper

3

Install and configure Kafka

4

Install Hazelcast when required

5

Install GermainUX Enterprise on Tomcat

6

Configure datastore connections

7

Configure messaging

8

Configure email and authentication

9

Initialize the GermainUX configuration

10

Start GermainUX services

11

Validate the complete deployment

12

Configure Sentinel for platform self-monitoring

Install GermainUX Enterprise

1 1. Extract the Distribution

Extract the GermainUX Server distribution into a temporary directory. The distribution includes a Tomcat directory named according to the supported version, such as:
Move this directory to the approved installation location. Examples:
The final directory is referenced below as:

2. Set CATALINA_HOME

Windows

Set:

Linux or Unix

Example:
Configure the environment variable for the service account that runs Tomcat.

3. Verify the Java Runtime

Confirm that Tomcat uses the supported JDK:
Set JAVA_HOME to the approved JDK installation. Do not rely on an unrelated system Java installation.

Configure Tomcat

HTTP and HTTPS Ports

Tomcat commonly listens on port 8080 during initial setup. The HTTP connector is configured in:
Example:
For production:
  • Expose GermainUX through HTTPS.
  • Use a reverse proxy or secured Tomcat connector.
  • Restrict direct access to internal Tomcat ports.
  • Do not expose the Tomcat shutdown or AJP ports unless required.
  • Disable unused connectors.
The public URL should normally use port 443.

Memory

Configure JVM options in:
or:
Example:
Memory settings must be based on the environment’s sizing assessment. Do not assume that 8 GB is sufficient for production. Retain enough physical memory for the operating system and other services.

Service Account and Permissions

Run Tomcat using a dedicated, non-personal service account. The account requires access to:
  • Tomcat installation
  • Configuration
  • Logs
  • Temporary and working directories
  • Java runtime
  • Mounted certificates and truststores
  • Required network destinations
Do not run Tomcat as root or a domain administrator.

Install as a Windows Service

Open an elevated command prompt:
This creates a Windows service with a name similar to:
Use the Tomcat service-management executable supplied with the installed Tomcat version to configure:
  • Java Virtual Machine
  • Initial and maximum memory
  • JVM options
  • Service account
  • Startup mode
  • Log locations
Add the following JVM option when approved:
This causes the JVM to terminate on an unrecoverable out-of-memory condition so the service manager or monitoring platform can restart it.

Configure the Datastore

GermainUX normally uses separate connections for:
  • Configuration data
  • Datamart data
  • Elasticsearch indexing and analytics, when Elasticsearch is used
Install the supported JDBC driver under the location specified by the GermainUX release.

Configuration Database

Configure:
  • Driver class
  • JDBC URL
  • Username
  • Password
  • TLS
  • Connection pool
  • Connection timeout
Applicable configuration keys include:

Datamart

Applicable keys include:
Example structure:
Do not use example accounts or disable TLS in production. Store passwords through the secure credential mechanism supported by your GermainUX release rather than in scripts or source control.

Elasticsearch

When Elasticsearch is used, configure:
Example:
Also configure the required authentication and certificate trust. Do not use unsecured HTTP for production Elasticsearch connectivity.

Configure Kafka

Kafka replaces ActiveMQ in GermainUX 2024.2 and later. When Kafka runs on another host, configure its broker URL:
Use the actual secured listener configured for your environment. Production Kafka should include:
  • Authentication
  • TLS
  • Restricted network access
  • Replication
  • Monitoring
  • Appropriate retention
  • High availability where required
See Apache Kafka Setup.

Legacy ActiveMQ Configuration

ActiveMQ applies only to GermainUX releases earlier than 2024.2. Legacy configuration key:
Do not configure ActiveMQ for a current GermainUX deployment unless Germain Software explicitly confirms that it is required.

Configure Email

Configure SMTP for alerts, scheduled reports, notifications, and administrative email. Applicable keys include:
Example structure:
Use your organization’s approved SMTP encryption and authentication settings.

Configure Authentication

GermainUX supports: Configure the selected method before production rollout and retain an approved recovery administrator account. Test:
  • Sign-in
  • Sign-out
  • User provisioning
  • Role assignment
  • Disabled-user handling
  • Session expiration
  • Identity-provider failure
  • Administrative recovery

Start and Stop Tomcat

Linux or Unix

Start:
Stop:
For production, operate Tomcat through an approved service manager such as systemd rather than relying exclusively on interactive shell scripts.

Windows Command Line

Start:
Stop:

Windows Service

Use the Windows Services console or your approved service-management tooling to start and stop:
GermainUX Enterprise (on Tomcat): Windows Service

Validate the Deployment

Start infrastructure and GermainUX components in this order:
1

Datastore

2

ZooKeeper

3

Kafka

4

Hazelcast

5

Tomcat and GermainUX core services

6

Remaining GermainUX services

7

GermainUX Engines and collectors

Then confirm:
  • Tomcat remains running.
  • GermainUX Enterprise connects to the configuration database.
  • GermainUX Enterprise connects to the datamart or Elasticsearch.
  • Kafka connectivity succeeds.
  • Hazelcast and ZooKeeper are healthy when used.
  • GermainUX Workspace opens.
  • Administrator authentication works.
  • Configuration can be saved and retrieved.
  • Monitoring data is received.
  • Dashboards and analyses return data.
  • Email can be delivered.
  • No recurring startup errors appear in logs.

Logs

Logs are located under:
Common files include: Review logs for:
  • License errors
  • Database connectivity failures
  • Kafka connectivity failures
  • TLS or certificate errors
  • Authentication problems
  • Port conflicts
  • Out-of-memory errors
  • Schema-version mismatches
  • Service startup failures

Rollback Plan

Before changing or upgrading the deployment:
1

Back up the GermainUX configuration database

2

Back up or snapshot the datamart

3

Back up Tomcat configuration

4

Back up ZooKeeper configuration

5

Record Kafka and datastore settings

6

Preserve the previous GermainUX distribution

7

Document the current service-start order

8

Test the rollback in a non-production environment

If deployment validation fails:
1

Stop Engines and collectors

2

Stop GermainUX services

3

Restore the previous Tomcat and GermainUX files

4

Restore the previous configuration

5

Restore databases only when required

6

Start the infrastructure

7

Start GermainUX services

8

Validate connectivity and data reception

For version-specific packages, configuration values, or deployment assistance, contact Germain team.

Get Help

Contact GermainUX Support

The GermainUX team helps you get up and running faster, empower your team, turn data into actionable insights, and optimize performance to deliver measurable business outcomes.

Can't find what you need?

Search all GermainUX docs with Ctrl + K, or use the feedback buttons at the bottom of this page to tell us what is missing.

The content of this document is proprietary to GERMAIN SOFTWARE.