본문으로 건너뛰기

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

  2. 애플리케이션 서버 로그 파일과 에이전트 로그 파일을 통해 에이전트가 정상 작동하는지, 에러가 발생하지 않았는지 확인합니다.

Java 에이전트 제거

  1. standalone.conf 환경 설정에서 에이전트를 설정한 옵션을 삭제하고 JBoss 서비스를 재기동합니다.
  2. 설치한 에이전트 디렉터리를 삭제합니다.
JBoss 에이전트 삭제 예시
rm -rf /home/jboss/flowkat/agent.java