본문으로 건너뛰기

Spring Boot

Spring Boot를 사용하는 애플리케이션 서버 환경에서 JVM 옵션을 추가하는 방법을 확인하세요.

JVM 옵션 추가

  • Java 17 버전 이상의 경우 reflection 관련 JVM 옵션 추가로 애플리케이션을 기동할 수 있습니다.

    # Java 17 이상만 지원
    java -javaagent:{WHATAP_HOME}/whatap.agent-X.Y.Z.jar -Dwhatap.oname={Agent_Name} --add-opens=java.base/java.lang=ALL-UNNAMED -jar {application.jar}
  • 시작 스크립트에 JVM 옵션으로 -javaagent를 추가하세요.

    java -javaagent:{WHATAP_HOME}/whatap.agent-X.Y.Z.jar -jar {application.jar}

JVM 옵션을 추가한 다음 사용하는 Spring Boot의 버전과 에이전트 버전에 맞춰 적합한 에이전트 설정을 진행하세요.

Spring Boot 3

Spring Boot 3.0.0 버전 이상

  • Java 에이전트 v2.2.9 버전 이상(whatap.agent-2.2.9.jar)

    whatap.conf
    weaving=spring-boot-3.0
  • Java 에이전트 v2.2.5 버전 이상(whatap.agent-2.2.5.jar)

    whatap.conf
    weaving=spring-boot-3.0,tomcat10
  • Java 에이전트 v2.2.4 버전 이하(whatap.agent-2.2.4.jar)

    • jakarta.servlet.http.HttpServlet 추적(동기 방식)

      whatap.conf
      weaving=tomcat10
    • WebClient 추적(비동기 방식)

      whatap.conf
      weaving=webflux-6.0

Spring Boot 2

Spring Boot 2.7.0 버전 이상

  • Java 에이전트 v2.2.9 버전 이상(whatap.agent-2.2.9.jar)

    whatap.conf
    weaving=spring-boot-2.7
  • Java 에이전트 v2.2.5 버전 이상(whatap.agent-2.2.5.jar)

    whatap.conf
    weaving=spring-boot-2.7,tomcat9
  • Java 에이전트 v2.2.4 버전 이하(whatap.agent-2.2.4.jar)

    WebClient 추적(비동기 방식)

    whatap.conf
    weaving=webflux-5.3

Spring Boot 2.5.0 버전 이상

  • Java 에이전트 v2.2.9 버전 이상(whatap.agent-2.2.9.jar)

    whatap.conf
    weaving=spring-boot-2.5
  • Java 에이전트 v2.2.5 버전 이상(whatap.agent-2.2.5.jar)

    whatap.conf
    weaving=spring-boot-2.5,tomcat9
  • Java 에이전트 v2.2.4 버전 이하(whatap.agent-2.2.4.jar)

    WebClient 추적(비동기 방식)

    whatap.conf
    weaving=webflux-5.3

힙 히스토그램 조회

와탭의 Java 모니터링에서는 JVM 메모리에 올라가 있는 Heap 점유 객체 현황(힙 메모리상의 객체별 사이즈)을 조회할 수 있는 기능을 기본으로 제공합니다. 애플리케이션 > 인스턴스 성능 분석 메뉴에서 힙 히스토그램 탭을 선택하세요.

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

  • Java 9 ~ Java 15 버전

    -Djdk.attach.allowAttachSelf=true
    example
    java -javaagent:{WHATAP_HOME}/whatap.agent-X.Y.Z.jar -Djdk.attach.allowAttachSelf=true -jar {application.jar}
  • Java 16 버전 이상

    -Djdk.attach.allowAttachSelf=true
    --add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED
    example
    java -javaagent:{WHATAP_HOME}/whatap.agent-X.Y.Z.jar -Djdk.attach.allowAttachSelf=true --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED -jar {application.jar}
노트

Java 5 버전 이하, IBM Java는 지원하지 않습니다.

다음 단계

  • 오픈 소스 추적

    애플리케이션에서 사용하는 프레임워크나 오픈소스 라이브러리에 따라 에이전트 옵션을 추가해야 할 수 있습니다. 예를 들어, 프레임워크나 오픈소스로 spring-boot-3.x, feign-client-11, okhttp3-4.4 사용 시 다음과 같이 옵션을 설정하세요.

    whatap.conf
    weaving=spring-boot-3.0,feign-11,okhttp3-4.4

    사용자의 애플리케이션 환경에 맞는 프레임워크나 오픈소스 라이브러리를 설정하는 방법은 다음 문서를 참조하세요.

  • 설치 점검하기

    프로젝트 생성 및 에이전트 설치, JVM 옵션까지 모두 적용했다면 다음 문서에서 점검 사항을 확인하세요.

  • 설치 문제 해결

    에이전트 설치 시 발생할 수 있는 다양한 문제들과 이를 해결하기 위한 구체적인 지침을 제공합니다. 방화벽 설정, SpringBoot 및 Tomcat JMX 설정, OSGI 프레임워크 사용 서버 설정 등 다양한 상황에 대한 해결책을 안내합니다. 자세한 내용은 다음 문서를 참조하세요.

  • 에이전트 설정

    에이전트 설정(whatap.conf) 파일에 옵션을 적용해 모니터링을 위한 다양한 기능을 제공합니다. 기본 설정부터 서버 연결 및 데이터 전송 설정, 여러 애플리케이션 서버의 설정 파일 관리 방법, 트랜잭션 추적 등을 포함합니다. 자세한 내용은 다음 문서를 참조하세요.

  • 모니터링 시작하기

    모든 설정을 완료한 다음 애플리케이션 서버를 다시 시작하세요. 에이전트가 정보를 수집하기 시작합니다. 먼저 애플리케이션 대시보드 메뉴에서 모니터링 데이터가 수집되는지 확인하세요. 애플리케이션 대시보드에 대한 자세한 내용은 다음 문서를 참조하세요.