TomcatMonitor is a ZenPack that allows System Administrators to monitor the Tomcat Application Server. Tomcat is a web application container that conforms to many parts of the J2EE Specification.
This ZenPack focuses on the metrics that Tomcat updates in its internal MBean container that is accessible via the remote JMX API. These metrics focus on attributes that relate to the servicing of web pages and primarily include thread pool size, CPU use, available file descriptors, JSP and servlet counts, and request counts.
TomcatMonitor places much emphasis on monitoring thread status because every web request is serviced in a separate thread. Each thread requires file descriptors to be maintained, and thus those are monitored as well. The amount of CPU time spent servicing each thread is also captured and reported.
TomcatMonitor also reports on the number of times JSPs and Servlets are reloaded. This metric can be useful in highly dynamic sites where JSPs or Servlets change on the fly and need to be reloaded periodically. Monitoring of this metric can lead to the identification of small "Reloading Storms" before they cause production outages.
The amount of time Tomcat spends servicing a request is also recorded. This extremely high level metric can provide insight into downstream systems that are not monitored. If all the Tomcat resources are within normal tolerances but processing time suddenly spikes it can be an indication that a back-end service (such as a database or another web service) is misbehaving.
The following metrics can be collected and graphed:
Tomcat cache (accesses vs hits)
Daemon and User thread count
Overall CPU time
Global Request Traffic: bytes sent/received
Global Request Traffic: request count and error count
Global Request processing time
JSP/Servlet reload time
Servlet class loading and processing time
Servlet request and error count
The more extensive JBoss Application Server uses Tomcat as a Web Application engine to manage web applications deployed inside enterprise applications within JBoss. As a result, the TomcatMonitor ZenPack can be used to monitor Tomcat MBeans that are active within JBoss.