본문으로 건너뛰기

빌드팩을 이용한 Java 에이전트 설치

Gradle을 사용하는 Java 애플리케이션으로 실행 가능한 도커 이미지를 빌드하는 경우 빌드팩을 이용하여 에이전트 설치할 수 있습니다.

WhaTap buildpack 기본 설정

build.gradle
tasks.named("bootBuildImage") {
buildpacks = ["urn:cnb:builder:paketo-buildpacks/java",
"docker.io/whatap/paketo-buildpack-apm"]
}

옵션 설정

와탭 수집 서버에 연결되어야 데이터를 수집할 수 있습니다. 액세스키(accesskey), 와탭 수집 서버 주소(whatap.server.host) 정보는 필수입니다. 그 외에 환경 및 기능의 필요에 따라 옵션을 추가 설정할 수 있습니다.

build.gradle
tasks.named("bootBuildImage") {
// Whatap
environment["BP_WHATAP_ENABLED"] = "true"
// java 17, There must be a space at the beginning.
environment["BPE_APPEND_JAVA_TOOL_OPTIONS"] = " --add-opens=java.base/java.lang=ALL-UNNAMED "
// add multi options, delimeter is linefeed character
environment["BP_WHATAP_OPTIONS"] = "accesskey=aaa-bbb-ccc\nwhatap.server.host=1.1.1.1/2.2.2.2"

buildpacks = ["urn:cnb:builder:paketo-buildpacks/java", "docker.io/whatap/paketo-buildpack-apm"]
}
  • BP_WHATAP_ENABLED

    와탭 에이전트 활성화 여부를 설정합니다. 값이 false라면 설치는 진행되지만, 모니터링이 중지된 상태로 시작합니다. 추후 와탭 모니터링 서비스에서 관리 > 에이전트 설정 메뉴를 통해서 true로 변경할 수 있습니다.

  • BPE_APPEND_JAVA_TOOL_OPTIONS

    Java 17 버전 이상을 사용하는 경우 필수로 jvm 옵션을 추가하세요.

    environment["BPE_DELIM_JAVA_TOOL_OPTIONS"] = " "
    environment["BPE_APPEND_JAVA_TOOL_OPTIONS"] = "--add-opens=java.base/java.lang=ALL-UNNAMED"

    delimeter 환경 변수를 사용하지 않는다면 앞뒤로 공백을 추가하세요.

    environment["BPE_APPEND_JAVA_TOOL_OPTIONS"] = " --add-opens=java.base/java.lang=ALL-UNNAMED "
  • BP_WHATAP_OPTIONS

    와탭 에이전트 설정을 추가할 수 있습니다. 라인피드 "\n" 을 구분자로 옵션을 설정합니다. 옵션은 key=value입니다. 설정한 옵션 값은 Docker Image 생성 단계에서 whatap.conf 파일에 저장됩니다.

    environment["BP_WHATAP_OPTIONS"] = "accesskey={액세스 키}\nwhatap.server.host={수집 서버 주소}"
    // 예시: environment["BP_WHATAP_OPTIONS"] = "accesskey=aaa-bbb-ccc\nwhatap.server.host=1.1.1.1/2.2.2.2"

Tomcat 10 환경

Tomcat 환경에서는 weaving=tomcat10 옵션을 필수로 추가해야 합니다.

environment["BP_WHATAP_OPTIONS"] = "accesskey={액세스 키}\nwhatap.server.host={수집 서버 주소}\nweaving=tomcat10"

Container 실행 옵션

컨테이너(Container) 실행 시 환경 변수로 액세스 키와 와탭 수집 서버 주소를 다음과 같이 설정할 수 있습니다.

docker run --rm -p 8080:8080 \
-e accesskey={액세스 키} \
-e whatap.server.host={수집 서버 주소} \
-e weaving=tomcat10,webflux-6.0 \
spring-boot-gradle-hello-world-pcketo-buildpack-whatap