이 페이지에서는 지원되는 모든 앱 서버 또는 JVM 기반 프레임워크에서 뉴렐릭 Java 에이전트를 설치하는 표준 경로를 다룹니다. 다음 단계에 따라 에이전트를 다운로드하고 설정하고 데이터가 뉴렐릭으로 전송되는지 확인할 수 있습니다.
호환성 및 요구사항 지원 Java 8, 11, 17, 21, 24, 25, 26 (Java 7은 에이전트 v6.5.4 및 이전 버전에서만 지원) JVM 기반 언어: Java, Scala, Kotlin, Clojure 앱 서버 및 프레임워크: Tomcat, Spring Boot, JBoss/WildFly, Glassfish, Jetty, WebLogic, WebSphere, Grails, ColdFusion, Solr, Play, Resin, Tanuki Wrapper, Geronimo — 지원되는 버전 범위는 호환성 및 요구 사항 참조 -javaagent 인수를 허용하는 모든 JVM 프로세스지원되지 않음 다른 APM 에이전트와 함께 실행 — 동일한 JVM에서 다른 APM 에이전트가 활성화되어 있는 경우 Java 에이전트는 올바른 동작을 보장할 수 없습니다. 필요한 사항 뉴렐릭 계정라이선스 키 SHA-2(256비트) SSL을 지원하는 JVM 앱 서버의 시작 스크립트 또는 JVM 설정을 수정할 수 있는 권한 에이전트 파일을 보관할 디렉터리를 생성할 수 있는 권한 설치 Java 에이전트 다운로드 다음 방법 중 하나를 사용하여 newrelic-java.zip을 다운로드합니다.
$ curl -O https://download.newrelic.com/newrelic/java-agent/newrelic-agent/current/newrelic-java.zip
Invoke-WebRequest - Uri https: / / download . newrelic . com/newrelic/java-agent/newrelic-agent/current/newrelic-java . zip - OutFile newrelic-java . zip
Expand-Archive - Path newrelic-java . zip - DestinationPath .
압축을 해제하면 newrelic/ 디렉터리에 다음 단계에서 설정할 에이전트 jar(newrelic.jar)와 설정 파일(newrelic.yml)이 포함되어 있습니다.
에이전트 파일 배치 영구 디렉터리를 생성하고 에이전트 파일을 해당 디렉터리로 이동합니다.
$ mv newrelic/* /opt/newrelic/
Linux/macOS에서는 /opt/newrelic을(를), Windows에서는 C:\opt\newrelic을 권장합니다. newrelic.jar가 애플리케이션 클래스 경로 또는 java.endorsed.dirs에 나열된 디렉터리에 없도록 해야 합니다.
전달 -javaagent 앱 서버의 JVM 시작 설정에 newrelic.jar의 전체 경로를 가리키는 -javaagent 플래그를 추가합니다. 방법은 서버마다 다릅니다. 환경에 맞는 항목을 확장하시기 바랍니다.
Tomcat Tomcat 설정에 맞는 방법을 선택합니다.
setenv.sh (Linux/macOS) setenv.bat (Windows) Windows service Apache Commons Daemon
CATALINA_BASE/bin/setenv.sh가 없으면 생성한 후 다음을 추가합니다.
$ export CATALINA_OPTS = " $CATALINA_OPTS -javaagent:/opt/newrelic/newrelic.jar"
CATALINA_BASE/bin/setenv.bat가 없으면 생성한 후 다음을 추가합니다.
SET "CATALINA_OPTS=%CATALINA_OPTS% -javaagent:C:\opt\newrelic\newrelic.jar"
Start > Apache Tomcat X.Y.Z > Configure Tomcat > Java 를 선택합니다.
Java 옵션 텍스트 상자에 인수를 입력합니다. 경로 구분 기호로 사선 /를 사용합니다. Tomcat 6의 경우 -javaagent 인수 뒤에 줄 바꿈을 추가합니다.
-javaagent:/opt/newrelic/newrelic.jar
Apply 를 선택한 다음 Tomcat을 다시 시작합니다.
Spring Boot 명령줄에서 -jar 인수 앞에 -javaagent 인수를 추가합니다.
$ java -javaagent:/opt/newrelic/newrelic.jar -jar /path/to/your-application.jar
JBoss / WildFly
도메인 모드(JBoss 6.x EAP 및 7.0 AS+) 독립 실행형 모드
domain/configuration/domain.xml을 수정하고 서버 그룹의 JVM 옵션에 -javaagent 옵션을 추가합니다.
< server-group name = " main-server-group " profile = " full " >
< option value = " -javaagent:/opt/newrelic/newrelic.jar " />
Platform
지침
Unix/macOS — JBoss 6.x EAP 또는 7.0.x AS+
bin/standalone.conf 하단에 다음을 추가합니다. JAVA_OPTS="$JAVA_OPTS -javaagent:/opt/newrelic/newrelic.jar"
Windows — JBoss 6.x EAP 또는 7.0.x AS+
bin/standalone.bat에서 set JBOSS_ENDORSED_DIRS 앞에 다음을 추가합니다. set "JAVA_OPTS=-javaagent:C:\opt\newrelic\newrelic.jar %JAVA_OPTS%"
Unix/macOS — JBoss 6.x 또는 이전 버전
bin/run.conf 하단에 다음을 추가합니다. JAVA_OPTS="$JAVA_OPTS -javaagent:/opt/newrelic/newrelic.jar"
Windows — JBoss 6.x 또는 이전 버전
bin/run.bat에서 set JBOSS_CLASSPATH 앞에 다음을 추가합니다. set "JAVA_OPTS=-javaagent:C:\opt\newrelic\newrelic.jar %JAVA_OPTS%"
WildFly(독립 실행형)
domain/configuration/domain.xml을 수정하고 서버 그룹의 JVM 옵션에 -javaagent 옵션을 추가합니다.
< server-group name = " main-server-group " profile = " full " >
< option value = " -javaagent:/opt/newrelic/newrelic.jar " />
Platform
지침
Unix/macOS
bin/standalone.conf 하단에 다음을 추가합니다. JAVA_OPTS="$JAVA_OPTS -javaagent:/opt/newrelic/newrelic.jar"
Windows
bin/standalone.bat에서 rem Setup JBoss specific properties 뒤에 다음을 추가합니다. set "JAVA_OPTS=-javaagent:C:\opt\newrelic\newrelic.jar %JAVA_OPTS%"
Glassfish Glassfish 관리 콘솔에서 Application Server > JVM Settings > JVM Options 를 선택합니다.
Add JVM Option 을 선택하고 다음을 추가합니다.
-javaagent:/opt/newrelic/newrelic.jar
Glassfish를 저장하고 다시 시작합니다.
Glassfish가 시작되지 않으면 -javaagent 경로가 잘못되었을 수 있습니다. 또한 domain.xml을 직접 수정하여 JVM 인수를 설정할 수도 있습니다.
중요 Glassfish 2.1의 버그로 인해 부트스트랩 클래스 로더의 클래스는 Java 로깅 API를 사용하지 못합니다. 이는 2.1.1 이상에서 수정되었습니다.
Jetty
jetty.sh 스크립트에서 JAVA_OPTIONS를 수정합니다.
$ export JAVA_OPTIONS = " ${JAVA_OPTIONS} -javaagent:/opt/newrelic/newrelic.jar"
start.ini 설정 파일에 추가합니다.
-javaagent:/opt/newrelic/newrelic.jar
WebLogic
Linux/macOS 관리 서버 Windows 관리 서버 관리형 서버 인스턴스
도메인의 bin/ 디렉터리에서 startWebLogic.sh를 수정합니다.
파일 시작 부분에 다음을 추가합니다.
$ export JAVA_OPTIONS = " $JAVA_OPTIONS -javaagent:/opt/newrelic/newrelic.jar"
도메인의 bin/ 디렉터리에서 startWebLogic.bat를 수정합니다.
파일 시작 부분에 다음을 추가합니다.
set JAVA_OPTIONS = %JAVA_OPTIONS% - javaagent: "C:\opt\newrelic\newrelic.jar"
관리 서버 인스턴스의 경우 위의 Linux/macOS 또는 Windows 지침을 따릅니다. 관리 콘솔에서는 관리 서버 인스턴스를 설정할 수 없습니다.
매니지드 서버 인스턴스의 경우 관리 콘솔을 사용합니다.
Environments > Servers > (select a server) > Server Start > Arguments 로 이동합니다.
추가:
-javaagent:/opt/newrelic/newrelic.jar
서버 인스턴스를 저장하고 다시 시작합니다.
WebSphere
WebSphere(관리 콘솔을 통해) WebSphere Community WebSphere Liberty Profile
관리 콘솔에서 Servers > Application servers > (select a server) > Configuration > Service Infrastructure > Java and Process Management 를 선택합니다.
Process Definition > Additional Properties 로 이동한 후 Java Virtual Machine 을 선택합니다.
Generic JVM arguments 필드에 다음을 추가합니다.
-javaagent:/opt/newrelic/newrelic.jar
Apply 를 선택한 다음 Save 를 선택합니다.
서버를 다시 시작합니다.
보다 자세한 내용은 WebSphere PMI 메트릭 수집 을 참조하십시오.
시작 명령을 실행할 때 JAVA_OPTS에 에이전트를 추가합니다.
$ export JAVA_OPTS = " $JAVA_OPTS -javaagent:/opt/newrelic/newrelic.jar" && startup
${server.config.dir}/jvm.options를 수정합니다.
추가:
-javaagent:/opt/newrelic/newrelic.jar
서버를 다시 시작합니다.
Grails
$ grails -noreloading -javaagent:/opt/newrelic/newrelic.jar run-app
grails-app/conf/BuildConfig.groovy에서 다음을 추가하거나 수정합니다.
grails . tomcat . jvmArgs = [ "-javaagent:/opt/newrelic/newrelic.jar" ]
ColdFusion ColdFusion 서버를 시작하고 ColdFusion 관리 콘솔을 엽니다.
왼쪽 메뉴에서 SERVER SETTINGS > Java and JVM 을 선택합니다.
에이전트 API를 사용하는 경우 ColdFusion Class Path 필드에 newrelic-api.jar에 대한 경로를 지정합니다.
JVM Arguments 필드에 다음을 추가합니다.
-javaagent:/opt/newrelic/newrelic.jar
Submit Changes 를 선택한 다음 ColdFusion을 다시 시작합니다.
Solr
독립 실행형 Solr 5.x+ 독립 실행형 Solr 4.x 이하 앱 서버 Solr
-javaagent 속성을 bin/solr.in.sh에 추가합니다.
$ SOLR_OPTS = " $SOLR_OPTS -javaagent:/opt/newrelic/newrelic.jar"
start.jar 앞에 -javaagent를 추가합니다.
$ java -javaagent:/opt/newrelic/newrelic.jar -jar start.jar
애플리케이션 서버 내에서 Solr를 실행할 때 해당 앱 서버의 지침을 따릅니다(이 목록의 다른 항목 참조). 또한 JMX가 활성화되어 있는지 확인합니다. APM에 Solr 데이터가 표시되지 않으면 Solr 데이터 문제 해결 절차 를 참조하십시오.
Play 프레임워크
Play 1.2.4 Play 2.0 Play 2.2 Play 2.3, 2.4, 2.5
$ play run your_app_name -javaagent:/opt/newrelic/newrelic.jar
start 스크립트가 포함된 압축을 푼 배포로 시작:
$ play clean dist && unzip dist/*.zip
-javaagent 인수로 시작:
$ cd unzipped/folder ; chmod a+x start ; ./start -javaagent:/opt/newrelic/newrelic.jar
압축을 푼 배포로 시작:
$ play clean dist && unzip target/directory/universal/*.zip
-J-javaagent 접두사 사용:
$ cd unzipped/folder ; ./bin/scriptname -J-javaagent:/opt/newrelic/newrelic.jar
압축을 푼 배포로 시작:
$ activator clean dist && unzip target/directory/universal/*.zip
-J-javaagent 접두사 사용:
$ cd unzipped/folder ; ./bin/scriptname -J-javaagent:/opt/newrelic/newrelic.jar
Play 2.4에서 Typesafe Activator를 사용하는 경우 build.sbt에도 다음 추가:
javaOptions ++ = Seq ( "-javaagent:/opt/newrelic/newrelic.jar" )
Resin
Resin with Java 8 Resin with Java 9+
conf/resin.conf 또는 conf/resin.xml의 <jvm-args> 섹션에 다음을 추가합니다.
< jvm-arg > -javaagent:/opt/newrelic/newrelic.jar </ jvm-arg >
-javaagent가 conf/resin.conf 또는 conf/resin.xml에 추가된 경우 Java 9 모듈 시스템으로 인해 NoClassDefFoundError: java/sql/SQLException이 발생할 수 있습니다. 대신 다음 대안 중 하나를 사용합니다.
옵션 1 — 명령줄:
$ java -javaagent:/opt/newrelic/newrelic.jar -jar lib/resin.jar start
옵션 2 — bin/resin.sh를 수정하여 다음을 수정합니다.
$ exec $JAVA_EXE -javaagent:/opt/newrelic/newrelic.jar -jar lib/resin.jar $@
그런 다음 ./bin/resin.sh start로 Resin을 시작합니다.
Tanuki Wrapper (Java Service Wrapper) wrapper.conf에 새로운 wrapper.java.additional 옵션을 추가합니다 파일에서 XXX를 사용하지 않는 번호로 교체합니다.
wrapper.java.additional.XXX = -javaagent:/opt/newrelic/newrelic.jar
팁 Linux에서는 경로 주위에 따옴표가 필요하지 않습니다. 이는 운영 시스템마다 다를 수 있습니다.
Geronimo Geronimo 시작 명령을 실행할 때 JAVA_OPTS에 에이전트 jar를 전달합니다.
$ export JAVA_OPTS = " $JAVA_OPTS -javaagent:/opt/newrelic/newrelic.jar" && geronimo run
newrelic/newrelic.yml을 수정하고 다음 두 가지 필수 값을 설정합니다.
license_key : 'YOUR_LICENSE_KEY'
app_name : 'My Application'
에이전트는 시작 시 newrelic.jar과(와) 동일한 디렉터리에서 newrelic.yml을(를) 읽습니다. 또한 Java 시스템 속성(예: -Dnewrelic.config.license_key=YOUR_KEY) 또는 환경 변수를 사용하여 모든 설정을 재정의할 수 있습니다.
설정 파일을 사용할 때, 애플리케이션 서버 프로세스의 소유자에게만 읽기/쓰기 권한을 제한합니다.
$ chmod 600 /opt/newrelic/newrelic.yml
사용 가능한 모든 옵션은 Java 에이전트 설정 을 참조하십시오.
설치 확인 애플리케이션 서버를 다시 시작합니다. 최소 2개의 요청을 보낸 다음 2-3분 기다리면 APM & services 에 앱이 표시됩니다.
5분 후에도 데이터가 나타나지 않으면 데이터가 표시되지 않음(Java) 을 참조하십시오.
관련 게시물