Docker Java 설치
관리 > 에이전트 설치 > 하단의 애플리케이션 설치 클릭 > 설치 안내 중 Docker Java 탭 선택
Docker 컨테이너 기반으로 실행하는 Java 애플리케이션의 JVM Option에 에이전트 적용을 위한 설정을 추가하고 컨테이너 이미지를 패키징하는 과정을 다음과 같이 안내합니다.
-
EKS Fargate는 지원 예정입니다.
-
Java 애플리케이션 연동 과정에 대한 이해를 돕고자 Git 예시 코드를 제공합니다. 다음 문서를 참조하세요.
에이전트 다운로드
- Docker Install
- 직접 설치
와탭 애플리케이션 에이전트 설치를 위해 whatap.conf 파일을 생성하세요. {YOUR_PROJECT_ROOT}는 에이전트를 설치하려는 프로젝트의 최상위 경로로 변경하세요.
cat >{YOUR_PROJECT_ROOT}/whatap.conf <<EOL
whatap.server.host={proxyServer}
EOL
쿠버네티스 내부 애플리케이션 에이전트 옵션 설정
쿠버네티스 내부 애플리케이션 에이전트에 필요한 설정을 whatap.conf 파일에 작성하거나 또는 에이전트 배포 시 컨테이너 env 필드를 통해 설정할 수 있습니다.
-
whatap.conf 파일 내 옵션이 컨테이너
env필드에 설정된 옵션보다 높은 우선순위를 가집니다. -
whatap.conf 또는 컨테이너
env에 설정된 값이 없는 경우 기본값이 사용됩니다. -
license및whatap.server.host옵션의 경우 컨테이너 환경변수 설정을 활용하세요. 자세한 내용은 다음 문서를 확인하세요.
설정 파일의 내용이 변경되거나 중요한 설정 항목이 소실될 경우 정상적으로 동작하지 않을 가능성이 있기에 쿠버네티스 환경 내 컨테이너 환경변수 설정을 권장합니다. 그외 에이전트 기능 제어 옵션에 대한 자세한 내용은 다음 문서를 참조하세요.
쿠버네티스 환경 내 사용 불가 옵션
-
whatap.name: 수집 서버가 에이전트를 식별하는 고유한 이름입니다. 해당 이름은 에이전트가 실행 중인 오브젝트 정보를 기반으로 생성됩니다. 사용자 임의 지정 시 에이전트 식별에 문제가 생길 수 있습니다. -
whatap.onode: 기본값으로 쿠버네티스 클러스터 노드 이름이 설정됩니다. 에이전트가 속한 노드 정보를 제공받기 위해 사용됩니다. 사용자 임의 지정 시 정확한 노드 식별이 어려워질 수 있습니다.
애플리케이션의 whatap.server.host 설정 확인
일부 컨테이너 이미지에서는 whatap.server.host와 같이 .이 포함된 환경변수를 직접 설정할 수 없습니다. 이로 인해 애플리케이션 에이전트가 정상적으로 기동되지 않는 경 우, whatap.conf 파일을 직접 수정하여 whatap.server.host 값을 설정해야 합니다. 애플리케이션의 whatap.server.host 설정 확인 방법은 다음과 같습니다.
-
와탭 애플리케이션 컨테이너에 진입하세요.
-
다음 명령어를 실행하여
whatap.server.host값이 포함되어 있는지 확인하세요.$ env | grep whatap.server.host
값이 출력되지 않을 경우 해당 컨테이너 이미지가 .이 포함된 환경변수 설정을 지원하지 않는 것입니다. 이 경우 환경변수가 아닌 설정 파일을 활용해야 합니다. whatap.conf 파일을 열고 다음과 같이 whatap.server.host 값을 수동으로 설정하세요.
whatap.server.host={와탭 수집 서버 IP}
- 최신 버전 에이전트를 이미지에 포함
- 지정한 버전 에이전트를 이미지에 포함
최신 버전 에이전트를 애플리케이션 이미지에 포함시킬 수 있도록 안내합니다.
-
아래 표를 참고하여 각 kube_mon 버전에 포함된 Java APM 에이전트 버전을 확인하세요.
2025년 7월 2일 기준 Java APM 버전 정보
whatap/kube_mon 버전 Java APM 버전 latest 2.2.61 1.8.7 2.2.61 1.8.6 2.2.55 1.8.5 2.2.52 1.8.4 2.2.50 1.8.3 2.2.50 1.8.2 2.2.48 1.8.1 2.2.47 1.8.0 2.2.42 1.7.16 2.2.41 1.7.15 2.2.39 1.7.14 2.2.39 1.7.13 2.2.39 1.7.12 2.2.38 1.7.11 2.2.38 1.7.10 2.2.38 1.7.9 2.2.38 1.7.8 2.2.36 1.7.7 2.2.35 1.7.6 2.2.35 1.7.5 2.2.34 1.7.4 2.2.33 1.7.3 2.2.33 1.7.2 2.2.33 1.7.1 2.2.32 1.7.0 2.2.32 1.6.1 2.2.32 1.6.0 2.2.31 1.5.9 2.2.31 1.5.8 2.2.30 1.5.7 2.2.28 1.5.6 2.2.27 1.5.5 2.2.27 1.5.4 2.2.26 1.5.3 2.2.26 1.5.2 2.2.26 1.5.1 2.2.26 1.5.0 2.2.26 1.4.9 2.2.25 -
애플리케이션 이미지에 와탭 에이전트를 포함시키려면 먼저 Dockrfile 최종 이미지 빌드 단계에서 다음 내용을 추가하세요.
{YOUR_PROJECT_ROOT}를 에이전트를 설치하려는 프로젝트의 최상위 경로로 변경하세요.# 와탭 에이전트용 디렉터리를 사용자 컨테이너에 생성
RUN mkdir -p /whatap
# 와탭 Java 에이전트를 사용자 컨테이너에 복사
COPY /data/agent/micro/whatap.agent.kube.jar /whatap
# 생성한 whatap.conf 설정 파일을 사용자 컨테이너에 복사
COPY {YOUR_PROJECT_ROOT}/whatap.conf /whatap/ -
Dockerfile의 시작 명령어에 다음 내용을 추가하세요.
-javaagent:/whatap/whatap.agent.kube.jar -Dwhatap.micro.enabled=true다음 Dockerfile의 정의 예시를 참고하세요.
DockerfileFROM openjdk:8-jdk-slim
RUN mkdir -p /app && mkdir /whatap
WORKDIR /app
COPY /data/agent/micro/whatap.agent.kube.jar /whatap
COPY ./whatap.conf /whatap
COPY ./target/myApp.jar /app/
CMD ["java","-javaagent:/whatap/whatap.agent.kube.jar","-Dwhatap.micro.enabled=true","-jar","/app/myApp.jar"]
EXPOSE 8080 -
Docker를 빌드하세요.
{YOUR_DOCKERFILE_DIR}를 Dockerfile이 위치한 경로로 변경하세요.cd {YOUR_DOCKERFILE_DIR}
docker build -t {IMAGE_NAME} .
지정한 버전 에이전트를 애플리케이션 이미지에 포함시킬 수 있도록 안내합니다.
-
애플리케이션 이미지에 와탭 에이전트를 포함시키려면 먼저 Dockrfile 최종 이미지 빌드 단계에서 다음 내용을 추가하세요.
{YOUR_PROJECT_ROOT}를 에이전트를 설치하려는 프로젝트의 최상위 경로로 변경하세요.# 와탭 에이전트용 디렉터리를 사용자 컨테이너에 생성
RUN mkdir -p /whatap
# 와탭 Java 에이전트를 사용자 컨테이너에 복사
COPY /data/agent/micro/whatap.agent-*.jar /whatap
# 생성한 whatap.conf 설정 파일을 사용자 컨테이너에 복사
COPY {YOUR_PROJECT_ROOT}/whatap.conf /whatap/ -
현재 와탭 에이전트 버전을 확인하세요.
docker run whatap/kube_mon ls /data/agent/micro | grep -E 'whatap\.agent-(.*?\.)(.*?\.)(.*?\.)jar' | sort | tail -1
# 출력 예시
## whatap.agent-X.Y.Z.jar -
Dockerfile의 시작 명령어에 다음 내용을 추가하세요. X.Y.Z 부분에 앞서 확인한 에이전트 버전을 입력하세요.
-javaagent:/whatap/whatap.agent-X.Y.Z.jar -Dwhatap.micro.enabled=true다음 Dockerfile의 정의 예시를 참조하세요.
DockerfileFROM openjdk:8-jdk-slim
RUN mkdir -p /app && mkdir /whatap
WORKDIR /app
COPY /data/agent/micro/whatap.agent-*.jar /whatap
COPY ./whatap.conf /whatap
COPY ./target/myApp.jar /app/
CMD ["java","-javaagent:/whatap/whatap.agent-X.Y.Z.jar","-Dwhatap.micro.enabled=true","-jar","/app/myApp.jar"]
EXPOSE 8080 -
Docker를 빌드하세요.
{YOUR_DOCKERFILE_DIR}를 Dockerfile이 위치한 경로로 변경하세요.cd {YOUR_DOCKERFILE_DIR}
docker build -t {IMAGE_NAME} .
-
설치 파일(whatap.agent.java.tar.gz)을 다운로드하려면 다운로드 버튼을 선택하세요.
-
Dockerfile을 작성할 수 있는 서버에 업로드한 다음 압축을 해제하세요.
정보설치할 서버에 직접 다운로드하려면 다음 명령어를 실행하세요.
wget https://api.whatap.io/agent/whatap.agent.java.tar.gz -
압축 해제 시 whatap 디렉터리가 생성됩니다. whatap 디렉터리 내부의 whatap.conf 파일에서 설정 내용을 확인 후 다음과 같이 수정하세요.
license={licenseKey}
whatap.server.host={proxyServer}정보쿠버네티스 내부 애플리케이션 에이전트 옵션 설정
쿠버네티스 내부 애플리케이션 에이전트에 필요한 설정을 whatap.conf 파일에 작성하거나 또는 에이전트 배포 시 컨테이너
env필드를 통해 설정할 수 있습니다.-
whatap.conf 파일 내 옵션이 컨테이너
env필드에 설정된 옵션보다 높은 우선순위를 가집니다. -
whatap.conf 또는 컨테이너
env에 설정된 값이 없는 경우 기본값이 사용됩니다. -
license및whatap.server.host옵션의 경우 컨테이너 환경변수 설정을 활용하세요. 자세한 내용은 다음 문서를 확인하세요.
설정 파일의 내용이 변경되거나 중요한 설정 항목이 소실될 경우 정상적으로 동작하지 않을 가능성이 있기에 쿠버네티스 환경 내 컨테이너 환경변수 설정을 권장합니다. 그외 에이전트 기능 제어 옵션에 대한 자세한 내용은 다음 문서를 참조하세요.
노트쿠버네티스 환경 내 사용 불가 옵션
-
whatap.name: 수집 서버가 에이전트를 식별하는 고유한 이름입니다. 해당 이름은 에이전트가 실행 중인 오브젝트 정보를 기반으로 생성됩니다. 사용자 임의 지정 시 에이전트 식별에 문제가 생길 수 있습니다. -
whatap.onode: 기본값으로 쿠버네티스 클러스터 노드 이름이 설정됩니다. 에이전트가 속한 노드 정보를 제공받기 위해 사용됩니다. 사용자 임의 지정 시 정확한 노드 식별이 어려워질 수 있습니다.
-
-
Dockerfile의 시작 명령어에 다음 내용을 추가하세요. whatap 디렉터리 내부에서 에이전트 파일을 확인 후 X.Y.Z 부분에 해당 버전을 입력하세요.
-javaagent:/whatap/whatap.agent-X.Y.Z.jar -Dwhatap.micro.enabled=true다음 Dockerfile의 정의 예시를 참조하세요.
DockerfileFROM openjdk:8-jdk-alpine
RUN mkdir -p /app && mkdir /whatap
WORKDIR /app
COPY ./whatap.agent-X.Y.Z.jar /whatap/
COPY ./whatap.conf /whatap/
COPY ./target/myApp.jar myApp.jar
COPY ./paramkey.txt /whatap/
CMD ["java","-javaagent:/whatap/whatap.agent-X.Y.Z.jar","-Dwhatap.micro.enabled=true","-jar","/app/myApp.jar"]
EXPOSE 8080
-
whatap-virtual-X.Y.Z.jar: 모니터링 대상(샘플 애플리케이션)
-
whatap.agent-X.Y.Z.jar: 와탭 에이전트
-
에이전트의 파일명이 whatap.agent-1.2.3.jar이라면 X.Y.Z 부분을 1.2.3으로 변경하세요.
-
JVM 옵션 추가에 대한 자세한 내용은 다음 문서를 참조하세요.
애플리케이션의 whatap.server.host 설정 확인
일부 컨테이너 이미지에서는 whatap.server.host와 같이 .이 포함된 환경변수를 직접 설정할 수 없습니다. 이로 인해 애플리케이션 에이전트가 정상적으로 기동되지 않는 경우, whatap.conf 파일을 직접 수정하여 whatap.server.host 값을 설정해야 합니다. 애플리케이션의 whatap.server.host 설정 확인 방법은 다음과 같습니다.
-
와탭 애플리케이션 컨테이너에 진입하세요.
-
다음 명령어를 실행하여
whatap.server.host값이 포함되어 있는지 확인하세요.$ env | grep whatap.server.host
값이 출력되지 않을 경우 해당 컨테이너 이미지가 .이 포함된 환경변수 설정을 지원하지 않는 것입니다. 이 경우 환경변수가 아닌 설정 파일을 활용해야 합니다. whatap.conf 파일을 열고 다음과 같이 whatap.server.host 값을 수동으로 설정하세요.
whatap.server.host={와탭 수집 서버 IP}
Java 17 버전 이상의 경우 reflection 관련 --add-opens=java.base/java.lang=ALL-UNNAMED 옵션을 추가하세요.