Managing and Monitoring Apache Tomcat
Apache Tomcat is an open source Java Servlet Container developed by the Apache Software Foundation, released under the Apache License version 2, and provides a pure Java implementation of an HTTP web server. Through its development, additional features have been implemented as Java Enterprise Edition specifications functioning as components. Catalina is a servlet container that can take an environment’s pre-existing authentication information and implement standard Container Managed Security. Coyote is Tomcat’s connection protocol that routes calls between the server and the client. As Tomcat’s JSP engine, Jasper manages all the JSP files and converts them to usable code. For full details, please see Tomcat’s documentation.
After deployment into a client environment, Instana will automatically map out the entire infrastructure and identify what technologies are interacting with one another with its Dynamic Graph back-end model.
Tomcat Performance and Configuration Metrics
The Instana agent automatically detects all Tomcat instances and deploys a Tomcat monitoring sensor on each one, automatically collecting Tomcat performance metrics based on built-in expertise about how Tomcat should optimally use resources, deliver web pages and execute code. This helps administrators and developers achieve optimized Tomcat JVM and application performance. Typical Tomcat performance metrics automatically baselined by Instana include:
- JVM Heap/Garbage Collection
- Thread Pool Usage
- Connection Pool Usage
For full details, please see Instana’s Tomcat Monitoring Sensor documentation.
Managing Tomcat Health
Instana simultaneously monitors performance of the Tomcat server, Tomcat applications and the Tomcat environment as a whole. This allows Instana to automatically and intelligently determine the health of each Tomcat instance. Instana Tomcat health monitoring is determined by a set of pre-selected KPI’s (example below).
Whenever a Tomcat KPI begins to deviate from expected behavior, Instana determines the severity of the deviation and assigns a health status (reflected within the User Interface through color changes). The resultant Tomcat issues are persisted to the Application Incident timeline at the bottom of the Instana screen. DevOps engineers get a view of how Tomcat performance and health are related to the rest of the application infrastructure in context with the entire environment.
Instana automatically instruments applications in Tomcat for monitoring and tracing, enabling distributed tracing of transactions across the entire Tomcat instance. For a complete list of supported transports, please see Instana’s tracing documentation.
Every Tomcat monitoring trace shows the duration of every hop between components, as well as any error details, to help diagnose the cause and identifying performance degradation. Developers can now see how their Tomcat application runs in production and identify bottlenecks and poorly performing backend calls – at the code level. Instana tracks critical KPIs for every microservice: throughput, latency, and error rate. From a trace, it is possible to drill down directly to the Tomcat application source code.