Tomcat OpenTelemetry Instrumentation Guide SigNoz released a guide for instrumenting Apache Tomcat with OpenTelemetry to send traces to its observability platform. The guide covers setup via setenv.sh on Linux/Windows, Docker, and Kubernetes, requiring the OpenTelemetry Java agent and SigNoz ingestion keys. This enables developers to monitor Tomcat applications with distributed tracing. This guide shows how to instrument your Apache Tomcat application server with OpenTelemetry and send traces to SigNoz. Tomcat uses setenv.sh Linux/Mac or setenv.bat Windows to configure JVM options, making it straightforward to attach the OpenTelemetry Java agent. Prerequisites - Java 8+ https://github.com/open-telemetry/opentelemetry-java-instrumentation - Supported Tomcat version https://github.com/open-telemetry/opentelemetry-java-instrumentation/blob/main/docs/supported-libraries.md application-servers - A SigNoz Cloud account or self-hosted SigNoz instance Send traces to SigNoz Step 1. Download the OpenTelemetry Java agent to your Tomcat directory wget -P /opt/tomcat/lib/ https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar Replace /opt/tomcat with your actual $CATALINA HOME path if different. Step 2. Create setenv.sh in Tomcat's bin folder Create a file at $CATALINA HOME/bin/setenv.sh with the following contents: export CATALINA OPTS="$CATALINA OPTS -javaagent:/opt/tomcat/lib/opentelemetry-javaagent.jar" export OTEL RESOURCE ATTRIBUTES="service.name=