Schedule demo

Tomcat Servers


Tomcat Servers - An Overview

Apache Tomcat acts as an open-source web server and servlet container for hosting Java web applications. It is popular for acting as a bridge between web servers and Java-based applications, facilitating the execution of dynamic content and processing client requests. Applications Manager's Tomcat monitoring tool is preferred by thousands of IT admins across the globe for its ease of use, robust monitoring capabilities, and affordable pricing. Unlike most Tomcat management tools which offer only health and availability stats for your database, Applications Manager's Apache Tomcat monitor provides in-depth Tomcat Server Performance Monitoring with numerous performance metrics and triggers notifications in case of downtimes.

Creating a new Tomcat server monitor

Supported Versions of Tomcat Servers: 3.x, 4.x, 5.x, 6.x, 7.x and above.

Prerequisites for monitoring Tomcat server metrics:Click here

Using the REST API to add a new Tomcat server monitor:Click here

Follow the steps given below to create a new Tomcat monitor:

    1. Click on Add New Monitor link under New Monitor.
    2. Select Tomcat Server.
    3. Enter the IP Address or hostname of the host.

      Note: Make sure to refer to Configurations based on Tomcat Deployments section before configuring the hostname and port details.

    4. Enter the port number in which the monitor is running. Default port number is 8080.
    5. Enter the credential details like user name and password for authentication, or select the required credentials from the Credential Manager list by enabling the Select from Credential list option.
    6. Choose SSL is enabled option, if SSL is enabled in Tomcat server.
    7. Enter the polling interval time in minutes.
    8. Provide the monitor-specific authentication information, such as username and password.

Note: Make sure to refer to the Tomcat Prerequisites section to learn how to configure username and password for respective Tomcat versions.

  1. If you are adding a new monitor from a Central Server, select a Probe Server.
  2. Choose the Monitor Group from the combo box with which you want to associate Tomcat Server Monitor (optional). You can choose multiple groups to associate your monitor.
  3. Click Add Monitor(s). This discovers Tomcat server from the network and starts monitoring them.

Note: To learn how to monitor Tomcat server running in JBoss, refer here.

Monitored Parameters

Go to the Monitors Category View by clicking the Monitors tab. Click on Tomcat Server under the Applications Servers table. Displayed is the Tomcat Server monitor's bulk configuration view distributed into three tabs:

  • Availability tab, gives the Availability history for the past 24 hours or 30 days.
  • Performance tab gives the Health Status and events for the past 24 hours or 30 days.
  • List view enables you to perform bulk admin configurations.

Click on the monitor name to see all the server details listed under the following tabs:

Overview

ParametersDescriptionSupported by Prometheus Integration
AvailabilityShows the current status of the server - available or not available.
Response TimeThe time taken for the tomcat server to respond while monitoring in milliseconds
Average Processing TimeThe average processing time taken to process a request in milliseconds
Requests Per MinuteThe average number of requests received by the server in one minute
Average Bytes Per MinuteThe average bytes send per minute
Successful RequestsThe number of requests served successfully
ErrorsThe number of error request received
Requests Failed percentagePercentage of requests failed.
Class LoadedThe number of classes currently loaded in the java virtual machine.
Class UnloadedThe number of classes unloaded since the java virtual machine has started
Total Class LoadedThe total number of classes loaded since the java virtual machine has started execution.
Daemon ThreadsThe number of live daemon threads
Live ThreadsCurrent number of live threads 
Stuck ThreadsNumber of threads that has been running for an unusually long time without completing.
Total Threads StartedThe total number of threads started since the java virtual machine started.

Memory

ParametersDescriptionSupported by Prometheus Integration
NameThe memory pool name
TypeMemory pool type. i.e, (Heap memory , Non-Heap Memory)
Used Memory in MBUsed memory in MB
Free Memory in MBFree memory in MB
Committed Memory in MBCommitted memory in MB
Maximum Memory in MBMaximum memory allocated in MB
Used memory in %Percentage of memory used
Free memory in %Percentage of memory free
NameGarbage collector name
Number of collections per MinuteNumber of garbage collections occurred per minute
Collection Time per MinuteCollection time in milliseconds.

Thread

ParametersDescriptionSupported by Prometheus Integration
Connector NameThe thread pool connector name
Busy ThreadsNumber of threads currently busy
Current ThreadsNumber of threads currently created
Maximum ThreadsThe maximum number of active threads can present in this pool
Percentage UsedPercentage of threads used 
Percentage FreePercentage of threads free 

JDBC

ParametersDescriptionSupported by Prometheus Integration
JNDI NameThe JNDI name of the datasource
ContextThe web application context name
Active ConnectionsNumber of active connections to the data source
Idle ConnectionsNumber of idle connections to the data source
Active Connections in %Percentage of active connections (not applicable if maximum active connection is unlimited i.e. configured as -1)
Idle Connections in %Percentage of idle connections  (not applicable if maximum idle connection is unlimited i.e. configured as -1)

Web

ParametersDescriptionSupported by Prometheus Integration
Connector NameConnector name of the global request processor
Request CountNumber of requests served by this global request processor
Error CountNumber of error request received
Processing TimeTime taken by this global request processor to process the requests in milliseconds
Bytes Send Per SecondAverage bytes send per second
Bytes Received Per SecondAverage bytes received per second
Successful Request (%)Percentage of successful requests
Failed Request (%)Percentage of failed requests

Web Applications

ParametersDescriptionSupported by Prometheus Integration
ContextWeb application's context name
StatusStatus of the web application such as STARTED, STOPPED
Processing Time (ms)The processing time taken to process the requests in milliseconds
Successful RequestsNumber of successful request served for this web application
Failed RequestsNumber of error request for this web application
Average Response Time (ms)Average response of this web application in milliseconds
Average Request Per MinuteAverage requests for this web application per minute
Average Bytes Per SecondAverage bytes send per second
No.of Open SessionsNumber of sessions currently open / active
No.of Expired SessionsNumber of sessions expired
No.of Rejected SessionsNumber of sessions rejected

Servlets

ParametersDescriptionSupported by Prometheus Integration
URLThe name of the servlet
ContextWeb application's context name
Processing Time (ms)The processing time in milliseconds
Successful RequestsNumber of successful request
Failed RequestsNumber of error request
Average Response Time (ms)Average response time in milliseconds
Average Requests Per MinuteAverage requests served per minute
 

 Troubleshoot: Having trouble in monitoring Tomcat server? Refer to the online troubleshooting section.

Configurations based on Tomcat Server Deployment

Monitoring of Tomcat Server depends on its deployment. This section explains the possible deployment scenarios of Tomcat. Your configuration of host name and the port depends on the following scenarios:

1. Standalone Tomcat Server

This is a general scenario wherein you have a Tomcat server which has the HTTP (apache) within its deployment. In this case, when configuring a tomcat monitor, specify the host name of the Tomcat server and the port of the HTTP.

2.One Tomcat Server (with HTTP) and one external instance of Apache

There is one Tomcat server with HTTP (apache) instance running in it and another external Apache running outside.

Example: Tomcat server name: Tomcat A; HTTP (in Tomcat server) port: 8080; External Apache server port: 80

In this case, while configuring for a Tomcat monitor, specify the host name as 'Tomcat A' and specify the port of the HTTP that runs with the Tomcat and not the external Apache, i.e., specify the port as 8080 and not 80.

3. One Tomcat Server (without HTTP) and one external instance of Apache

There is one Tomcat server without HTTP in it and another external Apache running.

Example: Tomcat server name: Tomcat A; HTTP (in Tomcat server) port: Not available; External Apache server port: 80

In this case, while configuring for a Tomcat monitor, specify the host name as 'Tomcat A' and specify the port of the external Apache, i.e., 80.

4. Multiple Tomcat Server (with HTTP instances in each of these servers) and one external instance of Apache

There are multiple Tomcat servers, say 3, with HTTP instances in each of them and another external Apache running.

Example: Tomcat Server names: Tomcat ATomcat BTomcat C; HTTP (in Tomcat servers) port: 807080808090 respectively; External Apache server port: 80

In this case, you need to create tomcat server monitor individually for Tomcat A, Tomcat B, and Tomcat C and specify their ports as 8070, 8080, and 8090 respectively.

5. Multiple Tomcat Server (without HTTP instances in these servers) and one external instance of Apache

There are multiple Tomcat servers, say 3, without HTTP instances in them and another external Apache running.

Example: Tomcat Server names: Tomcat ATomcat BTomcat C; HTTP (in Tomcat servers) port: Not available; External Apache server port: 80

You can monitor only one of the instances in this case. Please contact appmanager-support@manageengine.com if you would like to have it added.

Loved by customers all over the world

"Standout Tool With Extensive Monitoring Capabilities"

It allows us to track crucial metrics such as response times, resource utilization, error rates, and transaction performance. The real-time monitoring alerts promptly notify us of any issues or anomalies, enabling us to take immediate action.

Reviewer Role: Research and Development

carlos-rivero
"I like Applications Manager because it helps us to detect issues present in our servers and SQL databases."
Carlos Rivero

Tech Support Manager, Lexmark

Trusted by over 6000+ businesses globally