Tomcat is made up of Catalina (servlet), Coyote (connector), Jasper (JSP), and Cluster (load balancing and session replication). Monitoring your Tomcat web server components is crucial because poor performance can directly interfere with web application end-user experience.
Loom Systems Integration for Apache Tomcat monitors server operations, assists in troubleshooting issues, and provides insight into website visitor behavior patterns across entire web server farms.
Loom Systems integrates with Apache Tomcat to collect logs and metrics from your server and provide actionable alerts based on real-time performance data. It monitors and analyzes the activities of your Java applications running on Tomcat, providing you with visibility all the way down to individual event.
Here are a few performance logs & metrics which loom monitors:
Tomcat Application Errors
Tomcat Access Logs
Garbage collection metrics (GC)
Custom JMX metrics
Monitoring and optimizing your Java application performance for your entire application stack, including proprietary services, databases.
Tells you the root cause of Java problems! It will detect problems in real time, pinpointing the root cause down to the offending code before your customers are even affected.
Understanding the impact of issues on customer experience, drill into all services and components called upon a single user interaction.
Continuous delivery, improve the performance of your Java code with continuous insights into your applications.
Manual configuration of your monitoring setup is no longer necessary, In-less than five minutes the Loom system will automatically discovers your entire Java application running on Tomcat Server. And will correlate the performance of your Tomcat with the rest of your application layers.
Tomcat is an application server from the Apache Software Foundation that executes Java servlets and renders Web pages that include Java Server Page coding. Tomcat is made up of Catalina (servlet), Coyote (connector), Jasper (JSP), and Cluster (load balancing and session replication).
Tomcat's main function is to pass HTTP requests to the correct components to serve them, and return the dynamically generated results to the correct location after the JVM has processed them. If the JVM can't efficiently serve the requests Tomcat passes to it, Tomcat's performance will be negatively affected.
Tomcat can be used as either a standalone product with its own internal Web server or together with other Web servers, including Apache, Microsoft Internet Information Server (IIS). Tomcat requires a Java Runtime Enterprise Environment that conforms to JRE 1.1 or later.
Further details about logging and Tomcat server can be found here.
Just configure Rsyslog to see the all events you need. Tomcat writes information about application encountered issues and user activities performance. The rsyslog utility is a standard for computer message logging and allows collecting log messages from different devices.
Loom Systems for Tomcat mainly uses three types of logs:
Tomcat Catalina Logs: Tomcat's core component which log the activity of the application errors running on your tomcat server. These logs typically contains a stack trace.
Tomcat Access Logs: The Access Log Valve record ALL requests processed by catalina containers.
Tomcat Garbage Collection (JVM GC) logs: Heap memory performance & management metrics.
Usually location of the logs is typically /var/log/tomcat7
Automatic garbage collection is the process of looking at heap memory, identifying which objects are in use and which are not, and deleting the unused objects. The most important things to look at in the Garbage Collection JVM logs are the:
Acc Pauses - Accumulated Pause Time (total time app was stopped for GC).Pauses are the times when an application appears unresponsive because garbage collection is occurring
Total Time - Total Time the application runs.
Throughput - Time the application runs and is not busy with GC. Greater than 99% is fantastic. Throughput is the percentage of total time not spent in garbage collection, considered over long periods of time.
Footprint - Overall Memory Consumption - Ideally as low as possible. This is the working set of a process, measured in pages and cache lines. On systems with limited physical memory or many processes, footprint may dictate scalability.
The Access Log Valve creates log files in the same format as those created by standard web servers. This Valve may be associated with any Catalina container (Context, Host, or Engine), and will record ALL requests processed by that container.
Tomcat Access logs- Contains the following metrics:
Remote IP address & Local IP address
Bytes sent, excluding HTTP headers, or '-' if zero
Remote logical username from identd (always returns '-')
Request method (GET, POST, etc.)
Local port on which this request was received
Query string (prepended with a '?' if it exists)
First line of the request (method and reques URI)
HTTP status code of the response
User session ID
Remote user that was authenticated (if any), else '-'
Requested URL path
Local server name
Time taken to process the request, in seconds
For more information about the log format, see Access Log Valve Attributes