Engine Configuration

⚙️ GermainUX Engine Configuration

The GermainUX Engine Manager controls all Engine instances deployed on the same host. Administrators can manage the Engine Manager at the operating-system level and control individual Engines centrally through the GermainUX Workspace.

This page explains the day-to-day management of the Engine Manager and its Engines. Memory and proxy settings are covered in their dedicated guides.

🏗️ Engine Manager and Engine

Component

Responsibility

Engine Manager

Connects the host to Germain Enterprise and starts, stops, or restarts its Engine instances

Engine

Runs the monitoring and automation components assigned to it

A host normally runs one Engine Manager and one or more Engines. Stopping the Engine Manager also affects its managed Engines.

💻 Manage the Engine Manager on Windows

On Windows, the Engine Manager runs as a system service.

🔧 To manage it:

  1. Open the Windows Services console:

    services.msc
    
    image-20201118-203841.png
  2. Find the GermainUX Engine Manager service.

  3. Use the available controls to start, stop, or restart it.

  4. Confirm that its status changes to Running after startup.

You can also manage it from an administrative Command Prompt:

sc query "<engine-manager-service-name>"
sc start "<engine-manager-service-name>"
sc stop "<engine-manager-service-name>"

The exact service name depends on the Engine distribution and installation method.

🐧 Manage the Engine Manager on Linux

▶️ Start the Engine Manager manually

From ENGINE_HOME, run:

nohup bin/startEngineManager.sh &

This is suitable for initial validation or troubleshooting. For production, run the Engine Manager through systemd or another operating-system service manager.

🔍 Find the Engine Manager process

ps -ef | grep apm-engine-manager.jar

Identify the Java process running:

apm-engine-manager.jar

🛑 Stop the Engine Manager

Send a standard termination signal to the identified process:

kill <process-id>

Wait for the Engine Manager and its managed Engines to stop:

ps -ef | grep apm-engine

Do not use kill -9 for a routine shutdown. A forced termination prevents the Engine Manager from stopping its managed Engines cleanly and may leave separate Engine processes running.

For production, prefer:

sudo systemctl start germain-engine-manager
sudo systemctl stop germain-engine-manager
sudo systemctl restart germain-engine-manager
sudo systemctl status germain-engine-manager

Use the actual service name configured on the host.

📃 Review the Engine Manager log

The primary Engine Manager log is:

ENGINE_HOME/logs/EngineManager.log

Some older distributions may use:

ENGINE_HOME/log/EngineManager.log

Use this log to verify:

Item

Connection to Germain Enterprise

Node registration

Authorization status

Configuration retrieval

Engine startup and shutdown

Heartbeats

Proxy or network errors

Java and memory errors

Component startup failures

Local state-store errors

A successful startup includes a message similar to:

Started EngineManagerApplication in <duration> seconds

🔓 Authorize an Engine Manager

A newly installed Engine Manager may appear in GermainUX but remain unable to retrieve its configuration until authorized.

In the GermainUX Workspace:

  1. Open Germain > State.

  2. Select Nodes.

  3. Find the Engine Manager.

  4. Select the lock in the Sessions column.

  5. Confirm the authorization.

After authorization, review EngineManager.log and confirm that the Manager retrieves its configuration and starts its Engines.

⚙️ Manage individual Engines

Individual Engines can be enabled or disabled without disabling every Engine managed by the same Engine Manager.

In the GermainUX Workspace:

  1. Sign in as an administrator.

  2. Open Germain > State.

  3. Select the Engines view.

  4. Search for the Engine by name or browse the list.

  5. Select the Engine.

  6. Change its status to enabled or disabled.

    image-20260826-214541.png
  7. Confirm the requested state is reflected in the Workspace and logs.

⛔ Disable an Engine when

Reason

Performing maintenance on its host

Investigating repeated component failures

Moving components to another Engine

Preventing monitoring during an approved change

Retiring the Engine

✅ Enable an Engine when

Reason

Initial configuration is complete

Maintenance has ended

Required dependencies are available

Its assigned components are ready to run

Disabling an Engine does not necessarily stop the Engine Manager or other Engines on the same host.

🔁 Restart an individual Engine

Restart an Engine after changing settings that are applied only at startup, including:

Setting

JVM memory

JVM system properties

Proxy settings

Engine-specific runtime options

Certain component configurations

From Germain > State:

  1. Select the Engine.

  2. Save the updated configuration.

  3. Select Restart this Engine.

  4. Monitor its status.

  5. Review the Engine logs.

  6. Confirm that its monitoring components resume execution.

Avoid restarting multiple production Engines simultaneously unless the resulting interruption has been reviewed and approved.

💾 Configure Engine memory

Engine heap settings can be updated from Germain > State. After modifying the JVM options, save the configuration and restart the affected Engine.

Use the dedicated Engine Memory Configuration guide for the complete procedure, default JVM parameters, and validation steps.

Increase memory only when the Engine host has sufficient free capacity. If the host is constrained, move components or Engines to another host instead.

🌐 Configure proxy access

Proxy settings may need to be configured separately for:

Component

The Engine Manager

Individual Engines

You can also configure the node to relay the Engine Manager’s proxy settings to its Engines.

Use Engine Proxy Configuration for the required JVM properties and configuration procedure.

✅ Validate the configuration

After changing the Engine configuration, confirm that:

Check

The Engine Manager is running.

Its node is authorized.

The heartbeat appears in Germain > State.

All expected Engines are listed.

Required Engines are enabled.

Engine restarts complete successfully.

The effective JVM command line contains the expected settings.

Proxy connectivity works when required.

Monitoring components resume execution.

New telemetry appears in GermainUX.

No repeated errors appear in EngineManager.log.

CPU, memory, and disk utilization remain acceptable.

warning Troubleshooting

⛔ Engine Manager does not start

Check:

Area

Java version and JAVA_HOME

Germain Enterprise connectivity

Service-account permissions

JVM memory settings

Proxy configuration

Port and firewall access

EngineManager.log

❗ Engine appears but does not load

Confirm that:

Check

The node was authorized.

The Engine is enabled.

Germain Enterprise is reachable.

The configuration account is valid.

The Manager can retrieve the node configuration.

The configured messaging transport is available.

🔧 Configuration changes are not applied

Verify that:

Check

You updated the intended Engine.

The configuration was saved successfully.

The Engine was restarted when required.

No invalid JVM option prevents startup.

The effective command line contains the new setting.

No node- or host-level configuration overrides it.

🔁 Engine repeatedly restarts

Review the logs for:

Possible cause

Out-of-memory errors

Invalid JVM options

Component initialization failures

Local state-store problems

Missing drivers

Permission failures

Unavailable dependencies

Do not repeatedly restart the Engine without identifying the first relevant error.

Guide

Purpose

Engine Memory Configuration

adjust JVM memory and restart the Engine

Engine Proxy Configuration

configure proxy access for the Engine Manager and Engines

Engine Troubleshooting

resolve startup, state-store, and capacity issues

Component: Engine

Feature Availability: 8.6.0 or later