본문으로 건너뛰기

Spring Boot

시작 스크립트에 JAVA_OPTS 환경 변수 옵션을 아래와 같이 추가합니다.

시작 스크립트

JAVA_OPTS=" ${JAVA_OPTS} -javaagent:${FLOWKAT_AGENT_DIR}/flowkat.agent.jar"
JAVA_OPTS=" ${JAVA_OPTS} -Dflowkat.config=${FLOWKAT_AGENT_DIR}/conf/flowkat.conf"
JAVA_OPTS=" ${JAVA_OPTS} -Dobj_name=spring"

JVM Thread Dump를 Java 6 ~ 8 버전에서는 JVM 옵션 없이 기본 지원하지만, 8버전 이후 부터는 다음과 같이 JVM 옵션을 적용해야 합니다.

Java 9 ~ Java 15 버전
-Djdk.attach.allowAttachSelf=true
Java 16 버전
-Djdk.attach.allowAttachSelf=true
--add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED
Java 17 버전 이상
--add-opens=java.base/java.lang=ALL-UNNAMED
  • FLOWKAT_AGENT_DIRflowkat.agent.jar 파일을 포함하고 있는 디렉터리를 의미합니다.
  • 위의 예처럼 -Dflokwat.config 환경변수를 통해 conf 파일을 지정할 수 있습니다.
  • 모니터링 대상이 다수인 경우, 이름이 중복되지 않도록 obj_name 옵션으로 각각의 이름을 지정합니다.
  1. 설정 완료 후 애플리케이션 서버를 다시 시작합니다.

  2. 애플리케이션 서버 로그 파일과 에이전트 로그 파일을 통해 에이전트가 정상 작동하는지, 에러가 발생하지 않았는지 확인합니다.

Spring Boot 로그파일은 사용자(개발자) 설정에서 확인 후 로그를 확인합니다.

Java 에이전트 제거

  1. 에이전트를 제거하기 위해서는 시작 스크립트에서 에이전트 옵션을 삭제하고 애플리케이션 서버를 재기동합니다.
  2. 설치한 에이전트 디렉터리를 삭제합니다.
Spring Boot 에이전트 삭제 예시
rm -rf /home/springboot/flowkat/agent.java