文档首页/ 应用性能管理 APM/ 常见问题(1.0)/ 常见使用问题/ JBoss Standalone模式如何接入APM?
更新时间:2022-06-09 GMT+08:00

JBoss Standalone模式如何接入APM?

APM支持JBoss服务器,JBoss在使用Java探针时,需要特殊的设置。

下面举例对JBoss 6.2.0、JBoss 8.1.0 和JBoss 12.0.0的Standalone模式接入APM进行说明,其他JBoss的版本类似操作。

  1. JBoss 6.2.0:

    将standalone模式下的eap-6.2.0.Final/bin/standalone.conf文件修改为

    JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman,com.manageengine,org.jboss.logmanager,com.navercorp.pinpoint.bootstrap,com.navercorp.pinpoint.common,com.navercorp.pinpoint.exception"
    JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.jboss.logmanager.LogManager"
    JAVA_OPTS="$JAVA_OPTS -javaagent:/paas-apm/collectors/pinpoint/pinpoint-bootstrap.jar"
    JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:$JBOSS_HOME/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-1.5.1.Final-redhat-1.jar"
    JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"
    JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true"
  2. JBoss 8.1.0 :

    将standalone模式下的wildfly-8.1.0.Final/bin/standalone.conf文件修改为

    JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman,org.jboss.logmanager,com.navercorp.pinpoint.bootstrap,com.navercorp.pinpoint.common,com.navercorp.pinpoint.exception"
    JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:$JBOSS_HOME/modules/system/layers/base/org/jboss/log4j/logmanager/main/slf4j-api-1.7.2.jbossorg-1.jar"
    JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:$JBOSS_HOME/modules/system/layers/base/org/slf4j/main/slf4j-api-1.7.22.jbossorg-1.jar"
    JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:$JBOSS_HOME/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-1.5.2.Final.jar"
    JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.jboss.logmanager.LogManager"
    JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"
  3. JBoss 12.0.0:

    将standalone模式下的wildfly-12.0.0.Final/bin/standalone.conf文件修改为

    JBOSS_MODULES_SYSTEM_PKGS="org.jboss.byteman,org.jboss.logmanager,com.navercorp.pinpoint.bootstrap,com.navercorp.pinpoint.common,com.navercorp.pinpoint.exception,$JBOSS_MODULES_SYSTEM_PKGS"
    JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:$JBOSS_HOME/modules/system/layers/base/org/jboss/log4j/logmanager/main/log4j-jboss-logmanager-1.1.4.Final.jar"
    JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:$JBOSS_HOME/modules/system/layers/base/org/slf4j/main/slf4j-api-1.7.22.jbossorg-1.jar"
    JAVA_OPTS="$JAVA_OPTS -Xbootclasspath/p:$JBOSS_HOME/modules/system/layers/base/org/jboss/logmanager/main/jboss-logmanager-2.0.9.Final.jar"
    JAVA_OPTS="$JAVA_OPTS -Djava.util.logging.manager=org.jboss.logmanager.LogManager"
    JAVA_OPTS="$JAVA_OPTS -Djboss.modules.system.pkgs=$JBOSS_MODULES_SYSTEM_PKGS -Djava.awt.headless=true"

    因为JBoss 使用undertow作为应用服务,所以在启动命令 wildfly-12.0.0.Final/bin/standalone.sh -bmanagement 127.0.0.1 的management参数不能为0.0.0.0 否则会发生异常。异常提示如下:

    java.net.SocketException: Protocol family unavailable