Skip to main content
ComponentsEngineRUM JS
Availability2017.2

18. Configure SLAs

Thresholds for normal workload

23. Configure Dashboards

Views for different audiences

24. Validate the Configuration

Check connectors and metrics

Troubleshooting

Common Tomcat fixes
Configuring Monitoring for Apache Tomcat with GermainUX Configure GermainUX to collect and analyze Apache Tomcat availability, performance, JVM, connector, application, session, data-source, log, transaction, and user-experience data.

1. Open the Tomcat Wizard

Go to: Germain Workspace > Left Menu > Wizards > Tomcat Select or create the Tomcat monitoring configuration.

2. Select the Monitored Server

Select or create the server hosting Apache Tomcat. Confirm that the server is associated with the correct:

3. Select the Monitoring Node and Engine

Select the GermainUX node and Engine that will execute the Tomcat monitoring components. Choose an Engine that can reach:
  • Tomcat
  • JMX
  • Required HTTP/HTTPS endpoints
  • Accessible log files
  • Supporting services

4. Configure Tomcat Connection Settings

Configure the Tomcat connection information required by the selected monitoring methods. Depending on the environment, this can include:
  • Host
  • HTTP port
  • HTTPS port
  • JMX port
  • Applications
  • Credentials
  • Timeout
The exact fields depend on the Tomcat deployment and GermainUX version.

5. Configure JMX

When JMX monitoring is required, configure the JMX connection. Provide or select:
  • Host
  • Port
  • JMX service URL
  • Credentials
  • Required security settings
Use JMX to collect available metrics for:
  • Connectors
  • Thread pools
  • Applications
  • Sessions
  • Data sources
  • JVM

6. Configure Connector Monitoring

Configure the connector metrics required for your environment. Depending on the exposed Tomcat MBeans, monitor:
  • Request count
  • Error count
  • Processing time
  • Bytes received
  • Bytes sent
  • Current threads
  • Busy threads
  • Maximum threads
  • Active connections
Use thread-pool utilization together with traffic, response time, and error rate when defining thresholds.

7. Configure JVM Monitoring

Configure JVM metrics such as:
  • Heap memory
  • Non-heap memory
  • Memory pools
  • Garbage collection
  • Threads
  • Loaded classes
  • CPU
  • JVM uptime
  • File descriptors, when exposed
Use the Java monitoring configuration when deeper JVM monitoring is required.

8. Configure Session Monitoring

When the required Tomcat session metrics are exposed, monitor:
  • Active sessions
  • Session creation
  • Session expiration
  • Rejected sessions
  • Maximum sessions
  • Average duration
  • Maximum duration
Avoid collecting individual session contents or identifiers unless explicitly required.

9. Configure JDBC Connection-Pool Monitoring

When Tomcat-managed data sources expose the required metrics, configure:
  • Active connections
  • Idle connections
  • Maximum connections
  • Connection-pool utilization
  • Connection wait time
  • Pool exhaustion
  • Abandoned connections
  • Connection failures
Monitor the underlying database separately when deeper database root-cause analysis is required.

10. Configure Tomcat and Application Logs

Configure monitoring for applicable log paths. Examples include:
  • Catalina
  • Manager
  • Host Manager
  • Application
  • Access
  • Garbage collection
  • Startup and shutdown
Configure patterns or rules for relevant conditions such as:
  • Exceptions
  • Out-of-memory errors
  • Deployment failures
  • Database connection failures
  • Connector errors
  • Authentication failures
  • Resource warnings
  • Class-loading errors
  • Startup failures

11. Configure Java Code Monitoring — Optional

When GermainUX Code Profiler is deployed, configure the required Java transaction and method monitoring. Depending on the instrumentation, analyze:
  • Transactions
  • Methods
  • Exceptions
  • SQL
  • Database calls
  • Outbound HTTP requests
  • Integration calls
  • Execution time
Use profiling selectively according to troubleshooting and performance-analysis requirements.

12. Configure Real User Monitoring — Optional

For browser-based Tomcat applications, configure the appropriate UX Monitoring Profile. Go to: Germain Workspace > Left Menu > Analytics > UX Monitoring Profiles Configure:
  • RUM JS
  • Session Replay
  • User interactions
  • Page performance
  • Network monitoring
  • JavaScript errors
  • Browser errors
  • Privacy
  • Masking
  • Exclusions
  • Consent
  • Retention
When appropriate correlation information is available, GermainUX can associate browser activity with backend Tomcat and Java transactions.

13. Configure HTTP Monitoring — Optional

Configure HTTP or HTTPS monitoring for critical Tomcat applications and endpoints. Validate:
  • Availability
  • Response time
  • HTTP status
  • Expected response
  • TLS certificate validity
Process availability alone should not be used as proof that the application itself is usable.

14. Configure Synthetic Transactions — Optional

Create synthetic application workflows using GermainUX RPA Bot Recorder. Examples:
Open ApplicationAuthenticateExecute TransactionVerify Success
Configure:
  • Scenario
  • Monitoring location
  • Schedule
  • Timeout
  • Expected result
  • Failure conditions
  • Alerting

15. Configure Prometheus Monitoring — Optional

When Tomcat, JVM, application, container, or platform metrics are exposed through an approved Prometheus-compatible exporter, configure GermainUX Prometheus Metrics Monitoring. Use only metrics exposed by an approved exporter.

16. Configure Monitoring Frequency

Configure how frequently each monitor should execute. Use intervals appropriate for:
  • Application criticality
  • Required detection time
  • Infrastructure size
  • Collection overhead
  • Environment
Not every Tomcat metric requires the same collection frequency.

17. Configure KPIs

Configure the KPIs relevant to the monitored environment. Typical areas include:
  • Tomcat availability
  • Application availability
  • HTTP response time
  • HTTP errors
  • Connector activity
  • Thread-pool utilization
  • JVM memory
  • Garbage collection
  • JVM threads
  • HTTP sessions
  • JDBC connection pools
  • Application exceptions
  • Java transactions
  • Infrastructure resources

18. Configure SLAs

Configure thresholds according to the architecture and normal workload. Examples include:

Availability

Tomcat or Critical Application = Unavailable

Response Time

Application Response Time > Approved Threshold

HTTP Errors

HTTP Error Rate > Expected Baseline

Thread Pool

Busy Threads Approaching Maximum

JVM

Sustained Heap Utilization > Accepted Range

Garbage Collection

GC Duration > Accepted Range

Sessions

Active Sessions Approaching Capacity

JDBC Pool

Active Connections Approaching Maximum

Logs

Critical Error Detected

Infrastructure

Resource Condition Threatens Application Availability Use sustained-duration requirements and environment-specific baselines to avoid alerts caused by brief, harmless spikes.

19. Configure Rules and Automated Analytics

Use GermainUX Rules and analytics to identify conditions such as:
  • Performance regression
  • Error increase
  • Thread-pool saturation
  • JVM memory anomaly
  • Garbage-collection anomaly
  • Slow endpoint
  • Slow transaction
  • New application exception
  • Server behaving differently from peers
  • Post-release degradation
  • Dependency affecting application performance

20. Configure Alerts and Watches

Configure alerts for conditions requiring attention. Examples: Tomcat Unavailable → Alert Operations Application Response Time Above SLA → Notify Application Team Thread Pool Near Capacity → Notify Engineering JDBC Pool Exhaustion → Alert Application and Database Teams New Application Exception → Notify Development Synthetic Transaction Failure → Alert Support Notifications can be delivered through configured integrations such as email, SMS, Slack, or ServiceNow.

21. Configure Automated Actions

Configure only customer-approved operational actions. Examples include:
  • Collect Tomcat status
  • Collect JVM status
  • Capture recent logs
  • Capture diagnostic data
  • Retest an endpoint
  • Create an incident
  • Update an incident
  • Execute an approved script
  • Run an approved SSH command
  • Validate recovery
Actions capable of restarting Tomcat, redeploying applications, terminating threads, or modifying production configuration require explicit authorization and operational safeguards.

22. Configure Maintenance Windows

Define maintenance windows for:
  • Planned deployments
  • Tomcat restarts
  • Infrastructure maintenance
  • Application releases
Use maintenance windows to suppress expected alerts during approved maintenance activity.

23. Configure Dashboards

Create dashboards for different audiences.

Tomcat Operations

Monitor:
  • Availability
  • Requests
  • Response time
  • HTTP errors
  • Connectors
  • Thread pools
  • Applications

JVM

Monitor:
  • Heap
  • Garbage collection
  • Threads
  • CPU
  • Runtime health

Application Performance

Monitor:
  • Transactions
  • Exceptions
  • SQL
  • External services
  • Slow code paths

Capacity

Monitor:
  • Threads
  • Sessions
  • JDBC connections
  • Heap
  • CPU
  • Memory
  • Disk

User Experience

Monitor:
  • User sessions
  • Interaction performance
  • Browser errors
  • Backend transactions
  • Business processes
  • Session Replay

24. Validate the Configuration

After configuration, verify:
  1. Tomcat process and service availability.
  2. HTTP and HTTPS connector status.
  3. Selected JVM metrics.
  4. Selected Tomcat metrics.
  5. Required applications are monitored.
  6. Thread-pool metrics are available when configured.
  7. Session metrics are available when configured.
  8. JDBC-pool metrics are available when configured.
  9. Tomcat and application logs are collected.
  10. Controlled application transactions are captured.
  11. Java transaction tracing works when Code Profiler is deployed.
  12. Browser-to-backend correlation works when RUM JS is deployed.
  13. Synthetic transactions execute correctly.
  14. Alerts work as expected.
  15. Maintenance windows suppress expected alerts.
  16. Approved automated actions work safely.
    Apache Tomcat Monitoring data on Aggregated Dashboard

Troubleshooting

No Tomcat Metrics

Verify:
  • Engine is online.
  • Tomcat server is reachable.
  • Monitoring component is enabled.
  • JMX is available when required.
  • Credentials are valid.
  • Required ports are reachable.
  • Selected monitor is executing.

JMX Connection Fails

Verify:

Some Metrics Are Missing

The metrics available depend on: Verify that the expected MBean and metric are exposed by the target environment.

Logs Are Missing

Verify:

Application Is Slow but Tomcat Metrics Look Normal

Correlate the request with: A slow Tomcat-hosted application does not necessarily mean Tomcat itself is the bottleneck.

Get More Information

GermainUX can help determine which monitoring, analytics and automation capabilities are appropriate for your Tomcat environment. Contact GermainUX Support.

Get Help

Contact GermainUX Support

The Germain Team can help you set this up.

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 LLC.