빌드팩을 이용한 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