Tomcat Observability


Apache Tomcat Observability

Monitor the availability, performance, capacity, errors, and operational health of Apache Tomcat and the Java applications running within it.

GermainUX combines Tomcat and JVM metrics, application transactions, code-level tracing, logs, infrastructure telemetry, Real User Monitoring, synthetic transactions, analytics, and automation to help teams understand what failed, why it failed, who was affected, and what action should be taken.

Business Outcomes

GermainUX helps teams:

  • Improve application availability

  • Improve application performance

  • Reduce resolution time

  • Prevent capacity-related incidents

  • Detect regressions

  • Prioritize high-impact issues

  • Detect problems proactively

  • Automate diagnostics and approved remediation

Tomcat Availability

Monitor:

  • Tomcat process and service availability

  • HTTP and HTTPS connector availability

  • Application and endpoint availability

  • Tomcat uptime

  • Unexpected restarts

  • Startup and shutdown errors

  • Cluster-member availability

  • Load-balancer accessibility

  • TLS certificate validity

  • Synthetic application availability

Process availability alone does not confirm that an application is usable. Combine service monitoring with HTTP validation or synthetic user scenarios when appropriate.

Web Application Monitoring

For applications deployed in Tomcat, GermainUX can monitor available information such as:

  • Application availability and status

  • Context path

  • Request volume

  • Response time

  • HTTP status codes

  • Application errors

  • Active sessions

  • Session creation and expiration

  • Failed deployments

  • Application reloads

  • Slow or failed transactions

  • Release and deployment changes

The information available depends on JMX configuration, application instrumentation, logs, and accessible Tomcat management interfaces.

Connector and Request Processing

Monitor Tomcat connector activity, including:

  • Request count

  • Error count

  • Processing time

  • Bytes received and sent

  • Current threads

  • Busy threads

  • Maximum threads

  • Thread-pool utilization

  • Active connections, when exposed

A high busy-thread count is not necessarily an incident. Analyze it together with maximum threads, response time, error rate, traffic, downstream dependencies, and the duration of the condition.

JVM Health

Monitor JVM metrics exposed through the configured monitoring source, including:

  • Heap memory

  • Non-heap memory

  • Memory-pool utilization

  • Garbage-collection count

  • Garbage-collection duration

  • Live threads

  • Daemon threads

  • Peak thread count

  • Loaded and unloaded classes

  • Process CPU

  • JVM uptime

  • File-descriptor utilization, when exposed

  • JVM arguments and runtime information, when authorized

Thread Analysis

Thread monitoring can help identify:

  • Connector thread-pool saturation

  • Blocked threads

  • Waiting threads

  • Increasing thread counts

  • Deadlocks, when exposed by the JVM

  • Threads consuming excessive CPU

  • Requests waiting on databases or external services

  • Long-running application activity

Detailed thread and method analysis requires the appropriate JVM access or GermainUX Code Profiler instrumentation.

JDBC Connection Pools

When Tomcat-managed data sources expose the required metrics, GermainUX can monitor:

  • Active connections

  • Idle connections

  • Maximum pool size

  • Connection-pool utilization

  • Connection wait time

  • Exhausted pools

  • Abandoned or long-held connections

  • Connection creation failures

  • Connection validation failures

Database monitoring can be added to help determine whether a delay originates in Tomcat, the connection pool, SQL execution, or the database server.

HTTP Sessions

Depending on the application and Tomcat configuration, monitor:

  • Active sessions

  • Session creation rate

  • Session expiration

  • Rejected sessions

  • Maximum active sessions

  • Average session duration

  • Maximum session duration

  • Session changes after a release or traffic increase

Avoid collecting session identifiers or session contents unless explicitly required and approved.

Logs and Errors

Monitor accessible Tomcat and application logs, including:

  • Catalina logs

  • Host Manager logs

  • Manager logs

  • Application logs

  • Access logs

  • Garbage-collection logs

  • Startup and shutdown logs

GermainUX can detect and categorize conditions such as:

  • Application exceptions

  • Deployment failures

  • Out-of-memory errors

  • Connector and protocol errors

  • Database connection failures

  • Authentication and authorization failures

  • Thread and resource warnings

  • Class-loading errors

  • Repeated HTTP failures

  • Application startup problems

  • Unexpected restarts

Java Transaction and Code Monitoring

Deploy GermainUX Code Profiler when code-level visibility is required.

Depending on the application and instrumentation, GermainUX can analyze:

  • Servlet and application transactions

  • Java method execution

  • Cumulative execution time

  • Exclusive execution time

  • Exceptions

  • Outbound HTTP requests

  • Database calls

  • SQL execution

  • Integration calls

  • Thread activity

  • Transaction relationships

  • Slow code paths

  • Application and framework activity

This helps identify whether a slow request is caused by application code, SQL, an external service, thread contention, or another dependency.

Real User Monitoring

For browser-based applications hosted by Tomcat, deploy GermainUX RUM JS to monitor:

  • User sessions

  • Pages and navigation

  • User interactions

  • Page response time

  • Interaction response time

  • JavaScript and browser errors

  • Slow or failed network requests

  • Browser freezes

  • User feedback

  • Business-process activity

  • Session Replay

When appropriate correlation data is available, GermainUX can associate browser activity with the related Tomcat request, Java execution, database activity, and downstream services.

Infrastructure Monitoring

Extend Tomcat monitoring to the hosting environment.

Depending on the platform, GermainUX can monitor:

  • CPU

  • Memory

  • Disk and filesystem utilization

  • Disk I/O

  • Network activity

  • Processes and services

  • Open files and file descriptors

  • Containers and pods

  • Container restarts

  • Resource limits

  • Load balancers

  • Endpoint availability

Supported environments can include:

  • Linux

  • Windows

  • AIX

  • Docker

  • Kubernetes

Dependency Monitoring

Tomcat applications frequently depend on:

  • Databases

  • APIs

  • Messaging systems

  • Identity providers

  • External services

GermainUX can correlate Tomcat performance with separately monitored dependencies such as:

  • Oracle Database

  • MySQL

  • IBM DB2

  • ActiveMQ

  • Kafka

  • IBM MQ

Collection Methods

GermainUX can combine multiple monitoring methods:

Method

Coverage

JMX

Tomcat connectors, thread pools, applications, sessions, data sources, and JVM metrics exposed through MBeans

GermainUX Code Profiler

Java transactions, methods, exceptions, database calls, and integrations

Logs

Tomcat, access, application, JVM, and operating-system events

Local or Remote System Monitoring

Host resources, processes, services, filesystems, and network

HTTP Monitoring

Website, application, endpoint, and certificate availability

RUM JS

Real-user experience, browser activity, business processes, and Session Replay

Synthetic Transactions

Proactive application and workflow validation

Prometheus

Tomcat, JVM, application, container, or platform metrics exposed through an approved exporter

Automated Analytics

GermainUX can identify and prioritize conditions such as:

  • Performance regressions

  • Abnormal error increases

  • Thread-pool saturation

  • JVM memory anomalies

  • Garbage-collection anomalies

  • Slow applications

  • Slow endpoints

  • Slow transactions

  • Dependency-related delays

  • New application exceptions

  • Servers behaving differently from their peers

  • Changes following a release

  • Conditions affecting the greatest number of users or transactions

Alerts and Automation

Configure alerts for conditions such as:

  • Tomcat unavailable

  • Critical application unavailable

  • HTTP endpoint failure

  • Increased HTTP errors

  • Slow application response

  • Busy threads approaching maximum capacity

  • JVM heap pressure

  • Garbage-collection pressure

  • Deadlock

  • Abnormal thread growth

  • JDBC pool exhaustion

  • Increased application exceptions

  • Failed deployment

  • Disk or filesystem capacity risk

  • Failed synthetic transaction

  • Performance degradation after a release

GermainUX Automation can also execute approved actions such as:

  • Collect Tomcat status

  • Collect JVM status

  • Capture recent logs

  • Collect a diagnostic snapshot

  • Retest an endpoint

  • Create or update an incident

  • Call an authorized HTTP endpoint

  • Execute an approved script

  • Run a remote diagnostic command through SSH

  • Validate recovery

Production actions such as restarting Tomcat, redeploying an application, terminating threads, or changing configuration should be explicitly authorized and protected by operational safeguards.

ℹ️ Get More Information

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

Contact GermainUX Support.

Component: Engine, RUM JS

Feature Availability: 2017.2