본문으로 건너뛰기

JBoss

JBoss의 $JBOSS_HOME/bin/standalone.conf(standalone-ha.conf) 파일의 JAVA_OPTS 환경 변수 옵션을 아래와 같이 추가합니다.

JVM 옵션 추가​​

JVM 옵션에 -javaagent 및 -Djboss.modules.system.pkgs 옵션을 추가하세요.

standalone.conf 환경 설정

$JBOSS_HOME/bin/standalone.conf

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=" -Djboss.modules.system.pkgs=flowkat,reactor"

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_DIR 은 flowkat.agent.jar 파일을 포함하고 있는 디렉터리를 의미합니다.
  • 하나의 도메인에서 여러 개의 인스턴스를 사용한다면 각각의 설정 파일을 정의합니다.
  • 위의 예처럼 -Dflokwat.config 환경변수를 통해 conf 파일을 지정할 수 있습니다.
  • 하나의 VM에서 모니터링 대상이 다수인 경우, 이름이 중복되지 않도록 obj_name 옵션으로 각각의 이름을 지정합니다.
  1. 설정 완료 후 애플리케이션 서버를 다시 시작합니다.
  2. 애플리케이션 서버 로그 파일과 에이전트 로그 파일을 통해 에이전트가 정상 작동하는지, 에러가 발생하지 않았는지 확인합니다.

Java 에이전트 제거​​

  1. standalone.conf 환경 설정에서 에이전트를 설정한 옵션을 삭제하고 JBoss 서비스를 재기동합니다.
  2. 설치한 에이전트 디렉터리를 삭제합니다.

JBoss 에이전트 삭제 예시

rm -rf /home/jboss/flowkat/agent.java