Full stack Tomcat performance monitoring

Monitor your entire Tomcat application stack within a single-pane-of-glass and get visibility into the performance of your JVM, web and EJB containers, application code, database connections, slow queries, external service calls, and more.

Free Trial

Trusted by leading companies

Why is Apache Tomcat Monitoring needed?

The Tomcat application server is one of the more popular server implementations for Java web applications. Implementing a "pure Java" HTTP web server, Apache Tomcat supports Java Servlets, Java Server Pages, and WebSockets, thereby making it a favorite choice for deploying and hosting highly transactional Java applications and services.

To ensure high application performance, it is essential to monitor the Tomcat application server, the Java Virtual Machine (JVM) it uses, the application components it hosts, and the infrastructure tiers supporting it. IT teams and developers need the capability to proactively detect performance problems before they impact end-users of the Java application.

Monitoring All Aspects of Tomcat performance

Full stack Apache Tomcat performance monitoring

eG Enterprise is a full-stack application performance monitoring that delivers in-depth insights into Java applications powered by Tomcat. From an intuitive web console, application owners, developers, and administrators can:

Tomcat logo
  • Monitor the JVM, the Tomcat web container, and application transaction profiling from a single console
  • Track problematic application code, database connections, slow queries, external web service calls, and more
  • Get deep diagnostics on all aspects of Tomcat performance including Connectors, Servlets, Thread pools, Jasper Compiler, Sessions and caching
Learn what are the top 7 Tomcat Metrics to Monitor to Ensure Peak Performance

eG Enterprise for Tomcat Monitoring

eG Enterprise helps you enhance the performance of your Tomcat applications:

  • Monitor real user experience and proactively detect any slowness
  • Troubleshoot faster by gaining deep performance insights and KPIs about Tomcat performance
  • Single monitor for everything Java: JVMs, containers, web front end, databases, and underlying physical and virtual infrastructure
  • Eliminate finger-pointing between IT Ops, DevOps, and developers by automatically pinpointing the root cause of performance issues
See Demo

What eG Enterprise’s
Apache Tomcat Monitoring offers

Troubleshoot faster with deep Tomcat insights

Get comprehensive view of all Tomcat performance metrics in one place

  • Monitor the processing of requests by each connector (response time, errors, workload, etc.)
  • Monitor sessions to each application hosted on Tomcat to identify which application is imposing the highest load
  • Track every servlet executing on Tomcat and measure requests, processing time, and errors
  • Assess whether the Tomcat server has been configured with enough threads to handle workloads
  • Isolate business transactions affected due to Tomcat performance
  • Catch out-of-memory exceptions and memory leaks in the JVM

Get code-level visibility for application performance optimization

eG Enterprise allows developers to easily identify Java code-level issues.

  • Automatically get alerted to slow Java application transactions
  • Analyze the transaction flow using distributed transaction tracing and determine where slowness is occurring (app server, database, remote calls)
  • Easily drill down to get Java code-level visibility

Get details of Tomcat performance metrics monitored by eG Enterprise

Answer key Tomcat performance questions

  • Which of the Java business transactions are slow, stalled or having errors?Where is the response time slowdown: in the Java code,in the database queries, or in external web service calls?
  • How many transactions are handled by each Tomcat engine?
  • Is the workload balanced across all the Tomcat servers in the farm? Do you need more Tomcat Servers to handle the load?
  • Are Java Servlets executing within acceptable processing thresholds?
  • Is the web container configured correctly to handle the incoming workload?

Going beyond monitoring the Tomcat web container

eG Enterprise delivers total performance assurance for web applications powered by Java technology:

  • User experience monitoring: Using real user monitoring and synthetic transaction monitoring, you can identify user experience issues and slow transactions. Find out if the issue is with the browser, network, or server side.
  • Business transaction tracing: Trace slow transactions across the Java application architecture and isolate server-side issues causing transaction slowdown.
  • In-depth JVM monitoring: Comprehensively monitor every aspect of JVM performance, including CPU, heap and non-heap memory, threads, classes, garbage collection, and more

Frequently asked questions (FAQs)
about Apache Tomcat and Tomcat Monitoring

Apache Tomcat is an open-source web server and servlet container that implements the Java Servlet, Java Server Pages (JSP), and WebSocket technologies. It is widely used to deploy Java-based web applications.

The key components of the Tomcat architecture include:

  • Catalina: The servlet container that hosts servlets and JSPs, manages their lifecycle, and handles request processing.
  • Coyote: The connector that enables communication between Tomcat and the web server using various protocols such as HTTP, AJP (Apache JServ Protocol), and others.
  • Jasper: The JSP engine that compiles JSPs into Java servlets for execution.
  • Service: Within the Catalina server, there can be one or more service elements. Each service element groups one or more connector components together with a single engine. Connectors listen for requests on TCP ports and send them to the service's engine for processing.
  • Cluster: The component that enables clustering and load balancing of multiple Tomcat instances for high availability and scalability.

Monitoring Apache Tomcat is essential to ensure the optimal performance and availability of Java web applications. By monitoring Tomcat, IT teams can detect and resolve performance issues, identify potential bottlenecks, ensure resource utilization is within limits, and maintain high availability and user satisfaction.

Monitoring of Apache Tomcat should be done at different levels:

  • The Java Virtual Machine (JVM) used to host Apache Tomcat must be monitored for resource utilization, memory usage, garbage collection activity, thread deadlocks and overall health of the JVM.
  • The Apache Tomcat application server’s performance must be monitored to identify any performance bottlenecks such as worker thread utilization, connection pool usage, and other server-level metrics.
  • Log files of the application server must be tracked to monitor information about errors, warnings, requests, and other events.
  • Code-level profiling using byte-code instrumentation to measure the performance of individual Java methods.
  • Application transactions can be traced across JVMs using byte-code instrumentation to trace the flow of requests across different components and measure performance metrics such as response times, database queries, and external API calls to detect application bottlenecks. Tracing application transactions using byte-code instrumentation can help identify application bottlenecks and performance issues.

By monitoring at all these levels, you will have the best chance of diagnosing performance issues quickly, when users complain that “the Java application is slow”.

IT operations, Site Reliability Engineers (SREs) and DevOps teams can benefit from Apache Tomcat monitoring. They can get real-time alerts on performance issues, automated root cause analysis, deep visibility to quickly diagnose where the problems lie: is it the JVM, or the Tomcat container, the workload, the database, or an issue in the application code or its external dependencies?

Common performance issues you may encounter when supporting Apache Tomcat include high CPU usage, memory leaks, thread contention, slow request processing, database connectivity issues, and application errors. eG Enterprise monitors these performance metrics in real-time, provides historical trends, and offers automated diagnostics to troubleshoot and resolve such issues proactively.

Firstly, full stack monitoring is required. This includes monitoring the JVM, the Tomcat container, server logs and application transactions. Metrics from these different sources must be aggregated and presented in easy-to-understand visual dashboards. At the same time, detailed drilldowns must be provided. For example, if Tomcat’s CPU usage is high, you will need to be able to quickly drill down and see which thread in the JVM is causing the CPU spike. Historical reporting to be able to trace back in time is another key requirement.

Check out our blog on the top 7 metrics to monitor for Apache Tomcat: https://www.eginnovations.com/blog/tomcat-monitoring-metrics/

Monitoring a Tomcat web application server can provide insights that can be used to tune an Apache Tomcat web application server. For example, if the Java heap size is set too low, increase the Xmx value used for Tomcat’s JVM. There are also configuration settings that can be tuned to increase performance. Read our blog on this topic: https://www.eginnovations.com/blog/tomcat-performance-tuning/

Yes, there are differences as outlined below:

  • In a microservices environment running on containers orchestrated by Kubernetes, the monitoring agent can be deployed via two options – 1) Deploy the monitoring agent as a sidecar container alongside the actual application in the same Kubernetes pod 2) Deploy a shared monitoring agent on each Kubernetes worker node that receives performance insights telemetry from all pods on that worker node.
  • In a virtual environment, agent deployment on the virtual machine to monitor all Tomcat instances running on that VM is the best approach.
  • In a cloud deployment, if Tomcat is deployed on a VM (such as AWS EC2 or Azure VM), agent-based monitoring is recommended. In a PaaS model, the monitoring will need to be configured in an agentless manner.

Start your free trial or schedule a custom demo with an engineer

  • Works on cloud environments, hybrid cloud setups and on-premises deployments
  • Deploy eG Enterprise using our SaaS platform or on-premises
  • Suitable for monitoring cloud applications, digital workspaces and IT infrastructures
Please Enter Valid Work Email
eG Enterprise