외부 Backend 서비스 trace data 추적하기

2024. 4. 9. 14:10IT

opentelemetry-javaagent.jar 설치하기

/usr/share 경로에서 signoz 디렉토리 만들기

  • /usr/share/signoz
  • chown tomcat:tomcat signoz
wget https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/download/v1.32.0/opentelemetry-javaagent.jar
chown tomcat:tomcat opentelemetry-javaagent.jar
  • /usr/libexec/tomcat server 파일
#!/bin/bash

if [ -f "/usr/libexec/tomcat9/preamble" ]
then
  TOMCAT_VERSION="tomcat9"
elif [ -f "/usr/libexec/tomcat10/preamble" ]
then
  TOMCAT_VERSION="tomcat10"
else
  TOMCAT_VERSION="tomcat"
fi

. /usr/libexec/${TOMCAT_VERSION}/preamble

# This function is overwritten by Elastic Beanstalk
# Run application
run()
{
    set_javacmd

    if [ -n "${VERBOSE}" ]; then
        echo "Java virtual machine used: ${JAVACMD}"
        echo "classpath used: ${CLASSPATH}"
        echo "main class used: ${MAIN_CLASS}"
        echo "flags used: ${FLAGS}"
        echo "options used: ${OPTIONS}"
        echo "arguments used: ${@}"
    fi

    # let's start
    eval "exec \"${JAVACMD}\" ${FLAGS} -classpath \"${CLASSPATH}\" \
        ${OPTIONS} \"${MAIN_CLASS}\" \"${@}\""
}

MAIN_CLASS=org.apache.catalina.startup.Bootstrap

FLAGS="$JAVA_OPTS"
FLAGS="${FLAGS} -javaagent:/usr/share/signoz/opentelemetry-javaagent.jar -Dotel.exporter.otlp.endpoint=http://3.38.252.232:32528 -Dotel.resource.attributes=service.name=mathcell-iscreams-api"
OPTIONS="-Dcatalina.base=$CATALINA_BASE \
-Dcatalina.home=$CATALINA_HOME \
-Djava.endorsed.dirs=$JAVA_ENDORSED_DIRS \
-Djava.io.tmpdir=$CATALINA_TMPDIR \
-Djava.util.logging.config.file=${LOGGING_PROPERTIES} \
-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager"

if [ "$1" = "start" ] ; then
  FLAGS="${FLAGS} $CATALINA_OPTS"
  if [ "${SECURITY_MANAGER}" = "true" ] ; then
    OPTIONS="${OPTIONS} \
    -Djava.security.manager \
    -Djava.security.policy==${CATALINA_BASE}/conf/catalina.policy"
  fi
  run start
elif [ "$1" = "stop" ] ; then
  run stop
fi
  • 반영

/usr/lib/jvm/jre/bin/java -javaagent:/usr/share/signoz/opentelemetry-javaagent.jar -Dotel.exporter.otlp.endpoint=http://3.38.252.232:32528 -Dotel.resource.attributes=service.name=mathcell-iscreams-api"