2014-01-20 2 views
4

내가 원한다. -> Heroku에서 재생 프레임 워크 (2.2.1) Java 웹 응용 프로그램을 배포하고 추가 기능으로 newrelic을 사용하십시오.heroku play framework 2.2.1 java app에 새로운 유물 addon 추가

** 문제/문제 : * *

이 내가 지금까지했던 단계이다.

1) addon의 heroku 명령을 사용하여 addon을 추가 할 수 있습니다. "heroku addons : add newrelic : stark"heroku 자원에 추가가 표시됩니다.

2) newrelic.yml 파일 추가. newrelic.yml 파일을 첨부 파일로 추가하여 play framework의 conf 폴더에 저장했습니다 (application.conf 파일이 있음). 내가 선택한 파일은 https://gist.github.com/anfuerer/6169040 (방금 갱신 된 라이센스 및 응용 프로그램 정보)

3) 재생 2.2.1에서 종속성을 추가하도록 built.sbt 파일을 변경했습니다.

"com.newrelic.agent.java" % "newrelic-agent" % "3.4.0", 
    "com.newrelic.agent.java" % "newrelic-api" % "3.4.0" 

4) Heroku가 필요 내 Procfile는 JAVA_OPTS 지정된 가지며 JAVA_OPTS는 명령을 사용하여 설정된다

Heroku가 구성 : 설정 JAVA_OPTS = "- Xmx384m -Xss512k -XX : + UseCompressedOops - Dfile.encoding = UTF-8 -javaagent : target/staged/newrelic-agent-3.4.0.jar -Dnewrelic.bootstrap_classpath = true -Dnewrelic.config.file =./conf/newrelic.yml newrelic.config.log_level = finer newrelic.debug = true "

5) 분명히 모든 변경 사항은"git heroku push master "명령으로 heroku로 푸시하기 전에 git에 추가되고 커밋됩니다.

- 나에게 출력을 제공 |
JAVA_OPTS:    -Xmx384m -Xss512k -XX:+UseCompressedOops -Dfile.encoding=UTF-8 -javaagent:target/staged/newrelic-agent-3.4.0.jar -Dnewrelic.bootstrap_classpath=true -Dnewrelic.config.file=./conf/newrelic.yml newrelic.config.log_level=finer newrelic.debug=true 
NEW_RELIC_APP_NAME: test_application 
NEW_RELIC_LICENSE_KEY: 000000000000000000000000000000000 (changed offcourse) 
NEW_RELIC_LOG:   stdout 
PATH:     .jdk/bin:.sbt_home/bin:/usr/local/bin:/usr/bin:/bin 
REPO:     /app/.sbt_home/.ivy2/cache 
SBT_OPTS:    -Xmx384m -Xss512k -XX:+UseCompressedOops 

는 또한 "GREP NEW_RELIC에게 Heroku는 ENV를 실행"에 의해 확인하려고 -로

6) 기본적인 정신 테스트는 .. 내가 Heroku가 config 명령 후 내 설정을 참조

NEW_RELIC_LOG=stdout 
NEW_RELIC_LICENSE_KEY=00000000000000000000000000000 
NEW_RELIC_APP_NAME=test_application 

지금 내 Heroku가 응용 프로그램 대시 보드로 이동하여 추가 기능을보고 새로운 유물을 클릭 내 응용 프로그램을 클릭하고 내가 설정을 클릭

내 APP-설정에 저를 묻는 화면에 와서, 부 t는 자바 에이전트를 다운로드하고 웹 서버에 자바 에이전트를 설치하기를 원합니다. 지니의 의견

1) 새로운 유물 자바 에이전트를 다운로드 @를 따라 재생 응용 프로그램 프레임 워크를 자바 newrelic을 설치하려고

################# 편집

다운로드 폴더.

2) 재생 프레임 워크 앱 폴더 (프로젝트 폴더)에 압축을 풉니 다 (재생 빌드 파일이 필요한 재생 프레임 워크 폴더 여야합니까?)

unzip newrelic_agent3.4.0.zip -d /path/to/appserver/ 

3) 변경 디렉토리/appfolder/newrelic/

4)를 사용하여이 내가 무엇입니까 메시지입니다)

java -jar newrelic.jar install 

5를 사용하여 항아리를 설치합니다.

Jan 20, 2014 12:48:39 -0700 [6935 1] com.newrelic INFO: Agent is using Logback 
***** ((o)) New Relic Java Agent Installer 
***** Installing version 3.4.0 ... 
Could not edit start script because: 
.:. Could not locate a Tomcat, Jetty, JBoss, JBoss7 or Glassfish instance in /home/amit/Applications/play-2.2.1/appfolder/ 
Try re-running the install command with the -s <AppServerRootDirectory> option or from <AppServerRootDirectory>/newrelic. 
If that doesn't work, locate and edit the start script manually. 
No need to create New Relic configuration file because: 
.:. A config file already exists: /home/amit/Applications/play-2.2.1/appfolder/newrelic/newrelic.yml 
***** Install incomplete 
***** Next steps: 
For help completing the install, see https://newrelic.com/docs/java/new-relic-for-java 

여기에 뭔가가 빠졌습니까? 이 게임은 Play 프레임 워크 앱이며 newrelic addon이 내 컴퓨터에서 로컬이 아닌 heroku에서 작업하기를 바랍니다.

#

질문 :

1) 내가 Heroku가에 자바 에이전트를 설치하려면 어떻게합니까? 처음부터해야합니까?

2) heroku 및 새 유물에 이미 3 단계에서 추가로 API 및 Java 에이전트를 추가 한대로 내 앱을 선택하지 않아야하나요?

도움이나 조언을 주시면 감사하겠습니다.

답변

6

문제가 해결되었습니다. 여기 단계가 있습니다.

1 ) 앱 대시 보드로 이동하고 자원을 클릭)이

$ heroku addons:add newrelic:stark 

2 Heroku가에에 추가 취득합니다. 그런 다음 새 유적 애드온을 클릭하십시오. 그러면 설정을 요청하는 페이지로 이동합니다.

3) 설정을 클릭하고 Java를 선택한 후 라이센스 번호를 확인하고 jar 파일을 다운로드하십시오.

4) 설치 페이지에서 언급 한대로 jar 파일을 프로젝트의 루트에 압축을 풉니 다. Heroku에서 작동하는 새로운 유물이 필요하므로 설치 프로그램을 실행하지 마십시오.

5 ) 아래 그림 Heroku가 Procfile 편집 :

web: target/universal/stage/bin/myapp -Dhttp.port=${PORT} ${java_opts} -DapplyEvolutions.default=true -Ddb.default.driver=com.mysql.jdbc.Driver -Ddb.default.url=${CLEARDB_DATABASE_URL} -J-javaagent:newrelic/newrelic.jar -J-Dnewrelic.config.file=newrelic/newrelic.yml 

(당신의 필요에 따라 다른 설정을 변경 변경되지 않은 새로운 유물 설정을 유지 해달라고에서 MyApp를 대신 앱 이름을 넣어하는 것을 잊지 " 대상/유니버셜/스테이지/bin/myapp ")

6) build.sbt 또는 Build에 종속성을 추가합니다.스칼라는

"com.newrelic.agent.java" % "newrelic-agent" % "3.7.0" 

7) 관련 통계가 표시됩니다 git push heroku master

8) 새로운 자동으로 감지됩니다 유물 및 설정 페이지를 사용하여 Heroku가 앱을 배포합니다.

누구든지 문제가 발생하면 알려주세요.

+0

경로를 적용하면이 오류가 발생합니다. 2014-02-13T23 : 09 : 17.185606 + 00 : 00 app [web.2] : 네이티브 메소드의 치명적인 오류 : -javaagent의 처리가 실패했습니다. –

+0

newrelic 폴더의 이름을 lib로 변경했습니다. –

+0

@ ÖmerFarukGül 똑같은 오류 (네이티브에서 치명적인 오류)와'lib'worked로 이름 바꾸기! 이유가 뭐예요? Heroku는'lib' 폴더를 기대합니까? – Mik378

1

그냥 빠져 나와 같은 기본 질문을하지 않는 것입니다. https://devcenter.heroku.com/articles/newrelic의 안내를 따르고 https://devcenter.heroku.com/articles/newrelic#java-configuration에 Java 구성에주의를 기울였습니까? 그렇게하면 올바른 방향으로 갈 수 있습니다.

트릭이 필요한 경우 또는 추가 도움이 필요한 경우 저희에게 알려주십시오. 필요한 경우이 문제와 관련하여 문제를 계속 해결할 수있는 티켓이 있습니다.

+0

안녕하세요 Jeanie. Play 2의 설치 설명서에서 -javaagent : target/staged/newrelic-agent-2.XXjar를 사용합니다. – yzernik

+1

target/universal/stage/lib/com.newrelic.agent.java.newrelic-agent이어야한다고 생각합니다. -2.XXjar – yzernik

관련 문제