Installation Tomcat

This page provides information on how inspectIT can be used with the Apache Tomcat.

If you use Docker, see here.

Integration on Linux

The inspectIT can be integrated with in the start up script of Catalina, which is in the location $CATALINA_HOME/bin/catalina.sh. The $CATALINA_HOME represents the root of your Tomcat installation. inspectIT can be easily integrated within this file. A best practice is to define variables holding the references to the inspectIT installation and configuration folders.

INSPECTIT_AGENT_HOME="[path-to-inspectit-agent]"
export INSPECTIT_AGENT_HOME

INSPECTIT_JAVA_OPTS="-javaagent:${INSPECTIT_AGENT_HOME}/inspectit-agent.jar -Dinspectit.repository=[REPOSIOTRY_IP]:[REPOSITORY_PORT] -Dinspectit.agent.name=[AGENT_DISPLAY_NAME]"
export INSPECTIT_JAVA_OPTS

# integrate inspectit java options with the java options of Tomcat
JAVA_OPTS="${INSPECTIT_JAVA_OPTS} ${JAVA_OPTS}"

Using agent only when Tomcat starts

If you alter the catalina.sh script as described above the inspectIT agent will be started with any action (start/stop/etc) you call the script with. It can be very annoying and usually not necessary to use inspectIT agent when Tomcat is stopped for example. To only use inspectIT agent with starting the Tomcat you can use following "hack":

if [ "$1" = "start" ]; then
	JAVA_OPTS="$JAVA_OPTS -javaagent:[INSPECTIT_AGENT_HOME]/inspectit-agent.jar -Dinspectit.repository=[REPOSIOTRY_IP]:[REPOSITORY_PORT] -Dinspectit.agent.name=[AGENT_DISPLAY_NAME]"
fi

This has been tested with Tomcat version 7.0.70

Integration on Windows

The inspectIT can be integrated without touching the start up script of Catalina. To integrate the inspectIT agent, a new batch-script called 'setenv.bat' has to be created in the $CATALINA_HOME/bin/ directory. The $CATALINA_HOME represents the root of your Tomcat installation. This script will be automatically executed by the default start-scripts of Tomcat. This script is used to pass arguments to Tomcat.

Simply adapt the variables (INSPECTIT_AGENT_HOME, INSPECTIT_CONFIG_HOME) of the following script to match your environment and you're done.

setenv.bat
set INSPECTIT_AGENT_HOME=[path-to-inspectit-agent]

set JAVA_OPTS=-javaagent:%INSPECTIT_AGENT_HOME%/inspectit-agent.jar -Dinspectit.repository=[REPOSIOTRY_IP]:[REPOSITORY_PORT] -Dinspectit.agent.name=[AGENT_DISPLAY_NAME]

Known issues

Please see Some classes missing from instrumentation? question for information about the known problem with instrumentation on Tomcat.