Elasticã«ã¯ãJavaã€ã³ã¹ãã«ã¡ã³ããŒã·ã§ã³ãšãŒãžã§ã³ããåããELKçšã®æ°ããAPMã¢ãžã¥ãŒã«ããããŸãã
ã¯ã€ãã¯ã¹ã¿ãŒãããŒãã¯æ¬¡ã®ãšããã§ãã
https://www.elastic.co/blog/elastic-apm-java-agent-beta-released
ãšãŒãžã§ã³ãããå§ããŠãã©ã³ããäœæããŠã¿ãŸããã
https://github.com/kmacpher67/java-buildpack/tree/elastic-apm-agent
ãããäžç·ã«ããã¯ããŠãããŒãžãå®è¡ããããã®ãã«ãªã¯ãšã¹ããå®è¡ããæ¹ãç°¡åã§ããïŒ
ãŸãã¯ããªãã®ããã«ãããããã ãã§ããïŒ
äœãããªãã«æé©ãæããŠãã ããã
ç§ã®æ¢åã®ã³ãŒãããŒã¹ã«å¯Ÿããã³ã¡ã³ãæ¹è©ãæè¿ããŸãã
ãåŸ ã¡é ããŸããŠãããããšãããããŸãã ããã確èªãããšããã§ããããã©ãŒã¯ã確èªãããšããããã©ã³ãã«å€æŽãå ããããã«ã¯èŠããŸããã
ãã ããäžè¬çã«ãçµ±åã¯éåžžã«ç°¡åãªããã§ãã ãã®ããã®PRãæåºããããšããå§ãããŸããããã¯ã Azure Application Insights Agentã®ãããªãã®ã«åºã¥ããŠãè¯ãã¹ã¿ãŒããåãããšãã§ããŸãã
gitã®ããŒã«ã«å€æŽãããã·ã¥ããŸããã
è¿œå ããïŒ
new file: config/elastic_apm_agent.yml new file: lib/java_buildpack/framework/elastic_apm_agent.rb
åºæ¬çã«NewRelicã®ãã¿ãŒã³ã«åŸããŸããã
åºæ¬çãªgitcommit / pushã§å€±æããŠããã ãããããšãããããŸãã :(
ããã¯ãã¬ãã¥ãŒã®ããã«æ£åŒãªPRãšããŠæåºããã®ã«ååè¿ãããã«èŠããŸãã ããã€ãã®å€æŽãå ããå¿ èŠããããŸããã倧ããªå€æŽã¯ãããŸããã
ãããããŒãžããã«ã¯äœãããå¿
èŠããããŸããïŒ
äœãããå¿
èŠããããŸããïŒ
ã«ã¹ã¿ã ãã©ã³ãã䜿çšããŠããããã¹ãããŸããïŒ
ãªã¢ãŒããã©ã³ãããã¹ã¿ãŒã«ããŒãžããããã¥ã¡ã³ããæŽæ°ããæ°ããElasticApmAgent
ã³ãŒããšymlæ§æãæ©èœãããããã«å¿
èŠãšæããããã®ä»ã®é
ç®ãããã€ãæŽæ°ããŸããã
ãªãªãŒã¹ã»ã¯ã·ã§ã³ã§ãšã©ãŒãçºçããŸããã
ããã«ããã®ããã¥ã¡ã³ãã«åŸã£ãŠãããã°ããªã³ã«ããŸããã
https://github.com/cloudfoundry/java-buildpack/blob/master/docs/debugging-the-buildpack.md
ä»ãç§ã¯ã¯ã¬ã€ãžãŒãªéã®ãã®ã³ã°ãååŸããŠããŸãã
ã®ããã«ã¯èŠããŸãã
詳现ãã°ã®çµããïŒäž»ãªãšã©ãŒã¯æ¬¡ã®ããã§ãã
ããããã¬ãããªãªãŒã¹ã®ãã«ãã«å€±æããŸããïŒbuildpackã®ãªãªãŒã¹åºåãç¡å¹ã§ãïŒyamlïŒ1è¡ç®ïŒãã®ã³ã³ããã¹ãã§ã¯ãããã³ã°å€ã¯èš±å¯ãããŠããŸãã
çµäºã¹ããŒã¿ã¹224
Verify return code: 0 (ok)
[DownloadCache] DEBUG Adding If-None-Match:
[DownloadCache] DEBUG Adding If-Modified-Since:
[DownloadCache] DEBUG Request: /openjdk/trusty/x86_64/index.yml, {"accept-encoding"=>["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"], "accept"=>["*/*"], "user-agent"=>["Ruby"]}
[DownloadCache] DEBUG Response headers: {"content-type"=>["text/x-yaml"], "content-length"=>["6227"], "connection"=>["keep-alive"], "date"=>["Tue, 22 Jan 2019 18:34:54 GMT"], "last-modified"=>["Tue, 22 Jan 2019 18:34:23 GMT"], "etag"=>["\"61babcae65885e33a81b9078176785d5\""], "x-amz-version-id"=>["oQHGk1CwR3mNyQMDuR6_DuJKNdm2PbIi"], "accept-ranges"=>["bytes"], "server"=>["AmazonS3"], "age"=>["3722369"], "x-cache"=>["Hit from cloudfront"], "via"=>["1.1 b27a02320ae6ae78c5c25db5c9ccb9dc.cloudfront.net (CloudFront)"], "x-amz-cf-id"=>["xRlMS_-Z0kqEG_zuTj2NRhtlrybv38Fl4u2ZL6DK2IpRdT4tYYOrFw=="]}
[DownloadCache] DEBUG Response status: 200
[DownloadCache] DEBUG Persisting Etag: "61babcae65885e33a81b9078176785d5"
[DownloadCache] DEBUG Persisting Last-Modified: Tue, 22 Jan 2019 18:34:23 GMT
[DownloadCache] DEBUG Persisting content to /tmp/06e39cddcbd90ad303ff803a925d6614266c3d55f875c5f1ca2c4180056d5b04.cached
[DownloadCache] DEBUG Validated content size 6227 is 6227
[RepositoryIndex] DEBUG {"1.7.0_06"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.7.0_06.tar.gz", "1.7.0_07"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.7.0_07.tar.gz", "1.7.0_08"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.7.0_08.tar.gz", "1.7.0_09"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.7.0_09.tar.gz", "1.7.0_10"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.7.0_10.tar.gz", "1.7.0_11"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.7.0_11.tar.gz", "1.7.0_12"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.7.0_12.tar.gz", "1.7.0_13"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.7.0_13.tar.gz", "1.7.0_14"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.7.0_14.tar.gz", "1.7.0_15"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.7.0_15.tar.gz", "1.7.0_17"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.7.0_17.tar.gz", "1.7.0_21"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.7.0_21.tar.gz", "1.7.0_25"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.7.0_25.tar.gz", "1.7.0_40"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.7.0_40.tar.gz", "1.7.0_45"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.7.0_45.tar.gz", "1.7.0_51"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.7.0_51.tar.gz", "1.7.0_55"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.7.0_55.tar.gz", "1.7.0_60"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.7.0_60.tar.gz", "1.7.0_65"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.7.0_65.tar.gz", "1.7.0_71"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.7.0_71.tar.gz", "1.7.0_75"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.7.0_75.tar.gz", "1.7.0_79"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.7.0_79.tar.gz", "1.8.0_00"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0.tar.gz", "1.8.0_05"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_05.tar.gz", "1.8.0_101"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_101.tar.gz", "1.8.0_111"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_111.tar.gz", "1.8.0_11"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_11.tar.gz", "1.8.0_121"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_121.tar.gz", "1.8.0_131"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_131.tar.gz", "1.8.0_141"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_141.tar.gz", "1.8.0_144"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_144.tar.gz", "1.8.0_152"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_152.tar.gz", "1.8.0_161"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_161.tar.gz", "1.8.0_162"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_162.tar.gz", "1.8.0_172"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_172.tar.gz", "1.8.0_181"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_181.tar.gz", "1.8.0_191"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_191.tar.gz", "1.8.0_192"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_192.tar.gz", "1.8.0_201"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_201.tar.gz", "1.8.0_202"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_202.tar.gz", "1.8.0_20"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_20.tar.gz", "1.8.0_25"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_25.tar.gz", "1.8.0_31"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_31.tar.gz", "1.8.0_40"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_40.tar.gz", "1.8.0_45"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_45.tar.gz", "1.8.0_51"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_51.tar.gz", "1.8.0_60"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_60.tar.gz", "1.8.0_65"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_65.tar.gz", "1.8.0_71"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_71.tar.gz", "1.8.0_73"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_73.tar.gz", "1.8.0_77"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_77.tar.gz", "1.8.0_91-unlimited-crypto"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_91-unlimited-crypto.tar.gz", "1.8.0_91"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_91.tar.gz", "1.8.0_RC1"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-1.8.0_RC1.tar.gz", "10.0.0_46"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-10.0.0_46.tar.gz", "10.0.1_10"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-10.0.1_10.tar.gz", "10.0.2_13"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-10.0.2_13.tar.gz", "11.0.0_28"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-11.0.0_28.tar.gz", "11.0.1_13"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-11.0.1_13.tar.gz", "11.0.2_07"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-11.0.2_07.tar.gz", "11.0.2_09"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-11.0.2_09.tar.gz", "9.0.0_181"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-9.0.0_181.tar.gz", "9.0.1_11"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-9.0.1_11.tar.gz", "9.0.4_11"=>"https://java-buildpack.cloudfoundry.org/openjdk/trusty/x86_64/openjdk-9.0.4_11.tar.gz"}
[ConfigurationUtils] DEBUG Configuration from /tmp/buildpackdownloads/a457f9495309d44a788ea9f361d85ebf/config/java_main.yml: {"java_main_class"=>nil, "arguments"=>nil}
[Buildpack] DEBUG Release Payload:
---
addons: []
config_vars: {}
default_process_types:
web: 'JAVA_OPTS="-agentpath:$PWD/.java-buildpack/open_jdk_jre/bin/jvmkill-1.16.0_RELEASE=printHeapHistogram=1
-XX:ActiveProcessorCount=$(nproc) -Djava.io.tmpdir=$TMPDIR -Djava.ext.dirs=$PWD/.java-buildpack/container_security_provider:$PWD/.java-buildpack/open_jdk_jre/lib/ext
-Djava.security.properties=$PWD/.java-buildpack/java_security/java.security $JAVA_OPTS"
&& CALCULATED_MEMORY=$($PWD/.java-buildpack/open_jdk_jre/bin/java-buildpack-memory-calculator-3.13.0_RELEASE
-totMemory=$MEMORY_LIMIT -loadedClasses=23908 -poolType=metaspace -stackThreads=250
-vmOptions="$JAVA_OPTS") && echo JVM Memory Configuration: $CALCULATED_MEMORY
&& JAVA_OPTS="$JAVA_OPTS $CALCULATED_MEMORY" && MALLOC_ARENA_MAX=2 SERVER_PORT=$PORT
eval exec $PWD/.java-buildpack/open_jdk_jre/bin/java $JAVA_OPTS -cp $PWD/. org.springframework.boot.loader.JarLauncher'
task: 'JAVA_OPTS="-agentpath:$PWD/.java-buildpack/open_jdk_jre/bin/jvmkill-1.16.0_RELEASE=printHeapHistogram=1
-XX:ActiveProcessorCount=$(nproc) -Djava.io.tmpdir=$TMPDIR -Djava.ext.dirs=$PWD/.java-buildpack/container_security_provider:$PWD/.java-buildpack/open_jdk_jre/lib/ext
-Djava.security.properties=$PWD/.java-buildpack/java_security/java.security $JAVA_OPTS"
&& CALCULATED_MEMORY=$($PWD/.java-buildpack/open_jdk_jre/bin/java-buildpack-memory-calculator-3.13.0_RELEASE
-totMemory=$MEMORY_LIMIT -loadedClasses=23908 -poolType=metaspace -stackThreads=250
-vmOptions="$JAVA_OPTS") && echo JVM Memory Configuration: $CALCULATED_MEMORY
&& JAVA_OPTS="$JAVA_OPTS $CALCULATED_MEMORY" && MALLOC_ARENA_MAX=2 SERVER_PORT=$PORT
eval exec $PWD/.java-buildpack/open_jdk_jre/bin/java $JAVA_OPTS -cp $PWD/. org.springframework.boot.loader.JarLauncher'
Failed to build droplet release: buildpack's release output invalid: yaml: line 1: mapping values are not allowed in this context
Exit status 224
Cell 53d3700d-cd4d-46dd-9e38-67da5100086b stopping instance 8237ff17-026b-45c2-b21c-a62d5e95038d
Cell 53d3700d-cd4d-46dd-9e38-67da5100086b destroying container for instance 8237ff17-026b-45c2-b21c-a62d5e95038d
Cell 53d3700d-cd4d-46dd-9e38-67da5100086b successfully destroyed container for instance 8237ff17-026b-45c2-b21c-a62d5e95038d
FAILED
ã³ãŒãã«ãããã°å°å·ã¹ããŒãã¡ã³ããè¿œå ããŠãäœãèµ·ãã£ãŠãããã確èªã§ããããã«ããŸããã
CONFIGã¯ããã«ãããäœããŸãïŒ
[Droplet] DEBUG Sandbox root: /tmp/app/.java-buildpack/dynatrace_one_agent
[Buildpack] DEBUG Instantiating JavaBuildpack::Framework::ElasticApmAgent
[Buildpack] DEBUG Successfully required JavaBuildpack::Framework::ElasticApmAgent
[ConfigurationUtils] DEBUG Configuration from /tmp/buildpackdownloads/a457f9495309d44a788ea9f361d85ebf/config/elastic_apm_agent.yml: {"version"=>"1.1.0", "repository_root"=>"https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/", "repository_download"=>"https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/1.1.0/elastic-apm-agent-1.1.0.jar"}
[Droplet] DEBUG Droplet root: /tmp/app
[Droplet] DEBUG Buildpack root: /tmp/app/.java-buildpack
[Droplet] DEBUG Sandbox root: /tmp/app/.java-buildpack/elastic_apm_agent
[Buildpack] DEBUG Instantiating JavaBuildpack::Framework::GoogleStackdriverDebugger
ãµããŒãããŸããïŒ --ElasticApmAgent <JavaBuildpack :: Component :: VersionedDependencyComponent
ãã°ã«ã¯è¡šç€ºãããŸãããã³ã³ãã€ã«ããã³ãªãªãŒã¹ã®debugprintã¹ããŒãã¡ã³ãã¯è¡šç€ºãããŸããã
ããã®ã³ãŒããåç
§ããŠãã ããïŒ
https://github.com/kmacpher67/java-buildpack/blob/master/lib/java_buildpack/framework/elastic_apm_agent.rb#L29
ahhhãªãªãŒã¹ã¹ãããã¯æ§æãåŒã³åºããŸãã
ahhaããŒã2ïŒããŒã§ã¯å€§æåãšå°æåãåºå¥ãããŸãã
cf update-user-provided-service Elasticapm -p'server_urlsãapplication_packages '
以åããã¹ãŠå€§æåã®ããŒåã䜿çšããŠãµãŒãã¹ãæŽæ°ããŸãããããã§ãã¯.rbã³ãŒãã®å€æ°åã§ããã :(ã¯ãŒã«ã§ã¯ãããŸããïŒSERVER_URLSSERVER_URLSãAPPLICATION_PACKAGESã®ãã®ã³ãŒãããŒã¹ã§ã®äžæ£ãªãšã©ãŒåŠçã
å°æ¥ãžã®æ³šæïŒ
ããããŸãããç§ã¯ä»ãã®åé¡ãæ±ããŠããŸãïŒ
[ConfigurationUtils] DEBUG Configuration from /tmp/buildpackdownloads/a457f9495309d44a788ea9f361d85ebf/config/elastic_apm_agent.yml: {"version"=>"1.1.0", "repository_root"=>"https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/", "repository_download"=>"https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/1.1.0/elastic-apm-agent-1.1.0.jar"}
[RepositoryIndex] DEBUG https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/ expanded to https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent
[DownloadCache] DEBUG Request: /maven2/co/elastic/apm/elastic-apm-agent/index.yml, {"accept-encoding"=>["gzip;q=1.0,deflate;q=0.6,identity;q=0.3"], "accept"=>["*/*"], "user-agent"=>["Ruby"]}
[DownloadCache] DEBUG Response headers: {"last-modified"=>["Wed, 10 Aug 2016 15:08:35 GMT"], "etag"=>["\"1fb066da6a67c7c02962f59b4b8cd1ee\""], "x-amz-error-code"=>["NoSuchKey"], "x-amz-error-message"=>["The specified key does not exist."], "x-amz-error-detail-key"=>["maven2/co/elastic/apm/elastic-apm-agent/index.yml"], "content-type"=>["text/html"], "via"=>["1.1 varnish", "1.1 varnish"], "content-length"=>["554"], "accept-ranges"=>["bytes"], "date"=>["Thu, 07 Mar 2019 16:18:19 GMT"], "age"=>["0"], "connection"=>["keep-alive"], "x-served-by"=>["cache-iad2126-IAD, cache-bwi5024-BWI"], "x-cache"=>["MISS, MISS"], "x-cache-hits"=>["0, 0"], "x-timer"=>["S1551975499.474858,VS0,VE25"]}
[DownloadCache] DEBUG Response status: 404
[DownloadCache] WARN Request failure 1, retrying after 5s. Failure: 404 Not Found
ååšããªã/maven2/co/elastic/apm/elastic-apm-agent/index.ymlãã¡ã€ã«ãèŠã€ããããšããŠããŸãã
Crap themavenãªããžããªã¯index.ymlããµããŒãããŠããŸãã
http://central.maven.org/maven2/co/elastic/apm/elastic-apm-agent/
ãããåé¿ããããã®æ¬¡ã®ã¹ãããã¯äœã§ããïŒ
倧éã®ãããã³ã°ïŒç¡å¹ãªURIãäžæ£ãªå®çŸ©ãå¿
èŠãªãããã¯ã®æ€åºãªã©ïŒãšæ¹èšã®åŸïŒ
æçµçã«download_jar(<strong i="6">@version</strong>, <strong i="7">@uri</strong>, <strong i="8">@jar_name</strong> )
è¡ã
ãã®ãšã©ãŒãçºçããã®ã¯ãããããç§ãè¡ãã¹ãã§ã¯ãªãã£ã倧èŠæš¡ãªãããã³ã°ãåå ã§ãã
addons: []
config_vars: {}
default_process_types:
web: 'JAVA_OPTS="-agentpath:$PWD/.java-buildpack/open_jdk_jre/bin/jvmkill-1.16.0_RELEASE=printHeapHistogram=1
-XX:ActiveProcessorCount=$(nproc) -Djava.io.tmpdir=$TMPDIR -Delastic.apm.log_file_name=STDOUT
-Delastic.apm.server_urls=http://elk5-sts1-a.sapphirepri.com -Delastic.apm.application_packages=kenmac
was here! -Delastic.apm.elastic.apm.service_name=sts1-TherapyReportTemplates-Server-kentest
-javaagent:$PWD/.java-buildpack/elastic_apm_agent/elastic-apm-agent.jar -Delkapmagent.home=$PWD/.java-buildpack/elastic_apm_agent
-Delastic.apm.application_packages.enable.java.8=true -Djava.ext.dirs=$PWD/.java-buildpack/container_security_provider:$PWD/.java-buildpack/open_jdk_jre/lib/ext
-Djava.security.properties=$PWD/.java-buildpack/java_security/java.security $JAVA_OPTS"
&& CALCULATED_MEMORY=$($PWD/.java-buildpack/open_jdk_jre/bin/java-buildpack-memory-calculator-3.13.0_RELEASE
-totMemory=$MEMORY_LIMIT -loadedClasses=25019 -poolType=metaspace -stackThreads=250
-vmOptions="$JAVA_OPTS") && echo JVM Memory Configuration: $CALCULATED_MEMORY
&& JAVA_OPTS="$JAVA_OPTS $CALCULATED_MEMORY" && MALLOC_ARENA_MAX=2 SERVER_PORT=$PORT
eval exec $PWD/.java-buildpack/open_jdk_jre/bin/java $JAVA_OPTS -cp $PWD/. org.springframework.boot.loader.JarLauncher'
task: 'JAVA_OPTS="-agentpath:$PWD/.java-buildpack/open_jdk_jre/bin/jvmkill-1.16.0_RELEASE=printHeapHistogram=1
-XX:ActiveProcessorCount=$(nproc) -Djava.io.tmpdir=$TMPDIR -Delastic.apm.log_file_name=STDOUT
-Delastic.apm.server_urls=http://elk5-sts1-a.sapphirepri.com -Delastic.apm.application_packages=kenmac
was here! -Delastic.apm.elastic.apm.service_name=sts1-TherapyReportTemplates-Server-kentest
-javaagent:$PWD/.java-buildpack/elastic_apm_agent/elastic-apm-agent.jar -Delkapmagent.home=$PWD/.java-buildpack/elastic_apm_agent
-Delastic.apm.application_packages.enable.java.8=true -Djava.ext.dirs=$PWD/.java-buildpack/container_security_provider:$PWD/.java-buildpack/open_jdk_jre/lib/ext
-Djava.security.properties=$PWD/.java-buildpack/java_security/java.security $JAVA_OPTS"
&& CALCULATED_MEMORY=$($PWD/.java-buildpack/open_jdk_jre/bin/java-buildpack-memory-calculator-3.13.0_RELEASE
-totMemory=$MEMORY_LIMIT -loadedClasses=25019 -poolType=metaspace -stackThreads=250
-vmOptions="$JAVA_OPTS") && echo JVM Memory Configuration: $CALCULATED_MEMORY
&& JAVA_OPTS="$JAVA_OPTS $CALCULATED_MEMORY" && MALLOC_ARENA_MAX=2 SERVER_PORT=$PORT
eval exec $PWD/.java-buildpack/open_jdk_jre/bin/java $JAVA_OPTS -cp $PWD/. org.springframework.boot.loader.JarLauncher'
Failed to build droplet release: buildpack's release output invalid: yaml: line 1: mapping values are not allowed in this context
Exit status 224
@nebhale
Mavenãªããžããªã®index.ymlã
https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agentïŒ
index.ymlã®å Žæã®ãã¹ããã©ã¯ãã£ã¹ã¯äœã§ããïŒ ä»ã®äžè¬çãªå ŽæïŒgithubãªã©ïŒã¯ãããŸãã
äžè¬ã«ã人ã
ã¯å¥œããªå Žæã§ãã€ããªããã¹ãããã ãã§ãã ãããã£ãŠã config/add_dynamics_agent.yml
ãèŠããšããã¹ãã¯ç¬èªã®ãã¡ã€ã³ã®ã©ããã«ãããŸãã
ããã¯ç§ãã¡ã®æšå¥šãªãã·ã§ã³ã§ãïŒãããžã§ã¯ãããªããžããªãç¶æããå¿
èŠã«å¿ããŠæŽæ°ã§ããããã«ããŸãïŒãããããè² æ
ã倧ããããå Žåã¯ãCloudFoundryã«ãã£ãŠãã¹ãããããã£ãã·ã¥ã«äŸåé¢ä¿ãè€è£œããjava-buildpack-dependency-builder
ãããžã§ã¯ãããããŸã財å£ã ã©ã€ã»ã³ã¹ãšããŠã³ããŒãã®å¯çšæ§ã«é¢ããŠããã«ã¯ããã€ãã®å¶éããããŸãããå¿
èŠã«å¿ããŠãããã調æ»ããããšãã§ããŸãã
ããããšã....
å¯éããŠç³ãèš³ãããŸãã/æ確ã«ããããã«ïŒ
aïŒå¿ èŠãªå Žæã§ãã€ããªããã¹ãã§ããŸããMavenãªããžããªã®å Žå
bïŒãããã®ãã€ããªãæãindex.ymlããã¹ãã§ããŸãã
https://github.com/cloudfoundry/java-buildpack/tree/master/config/add_elastic_agent.yml
cïŒãããŠãããè¡ãããã«ãã«ãªã¯ãšã¹ããéããŸãã CLAã«çœ²åããããšã§CFã³ã³ããªãã¥ãŒã¿ãŒã«ãªããŸã
æ£ããïŒ
buildpack + index.ymlãè¿œå ããé åºã¯ãããŸããïŒããã¯ãã¹ãŠåãPRã®äžéšãšããŠçºçããå¿ èŠããããŸã
å šãåé¡ç¡ãã
index.yml
ã¯ããããã®ãã€ããªãžã®éæ¥U/index.yml
ãååšããURIãããŠã³ããŒãããããã®ããŒãžã§ã³ã®YAMLããã·ã¥ãå«ãŸããããã«ãããã€ãã®URI U
ãå¿
èŠã§ãã ããšãã°ãMaven Centralãžã®ãªã³ã¯ã䜿çšããŠhttps://raw.githubusercontent.com/elastic/apm-agent-java/master/index.yml
ããã¹ããã config/elastic_apm_agent.yml
ã«repository_root: https://raw.githubusercontent.com/elastic/apm-agent-java/master
ãå«ããããšãã§ããŸãããã¹ãã®ç®çã§ãjarãã¡ã€ã«ããã¹ãããŠããåãã³ãŒããªããžããªã䜿çšããŠãååž°çã«ãå®è¡ãããªããžããªããã«ãããŸããããããã§ããªãªãŒã¹ãšã©ãŒãçºçããŸãã
@bvader
https://github.com/kmacpher67/java-buildpack/tree/master/elastic-repo
ãã³ãææ¡ããããã«ããã®ãµããã£ã¬ã¯ããªãelastic
ãªããžããªã«ã³ããŒãããšãããã«ãã€ããªãé
眮ã§ããŸãããã®ãªããžããªãæŽæ°ããŠããããã®rawãã¡ã€ã«ãæãããã«ããããšãã§ããŸãã
@nebhaleç§ã¯ãŸã æããããã®ä»ã®ãšã©ãŒã
`` `[ConfigurationUtils] /tmp/buildpackdownloads/a457f9495309d44a788ea9f361d85ebf/config/java_main.ymlããã®ãããã°æ§æïŒ{" java_main_class "=> nilã" arguments "=> nil}
[ãã«ãããã¯] DEBUGãªãªãŒã¹ãã€ããŒãïŒ
ã¢ããªã³ïŒ[]
config_varsïŒ{}
default_process_typesïŒ
webïŒ 'JAVA_OPTS = "-agentpathïŒ$ PWD / .java-buildpack / open_jdk_jre / bin / jvmkill-1.16.0_RELEASE = printHeapHistogram = 1
-XXïŒActiveProcessorCount = $ïŒnprocïŒ-Djava.io.tmpdir = $ TMPDIR -javaagentïŒ$ PWD / .java-buildpack /elastic_apm_agent/elastic_apm_agent-1.4.0.jar
-Delkapmagent.home = $ PWD / .java-buildpack / elastic_apm_agent -Delastic.apm.application_packages.enable.java.8 = true
-Djava.ext.dirs = $ PWD / .java-buildpack / container_security_providerïŒ$ PWD / .java-buildpack / open_jdk_jre / lib / ext
-Djava.security.properties = $ PWD / .java-buildpack / java_security / java.security $ JAVA_OPTS "
&& CALCULATED_MEMORY = $ïŒ$ PWD / .java-buildpack / open_jdk_jre / bin / java-buildpack-memory-calculator-3.13.0_RELEASE
-totMemory = $ MEMORY_LIMIT -loadedClasses = 25019 -poolType = metaspace -stackThreads = 250
-vmOptions = "$ JAVA_OPTS"ïŒ&& echo JVMã¡ã¢ãªæ§æïŒ$ CALCULATED_MEMORY
&& JAVA_OPTS = "$ JAVA_OPTS $ CALCULATED_MEMORY" && MALLOC_ARENA_MAX = 2 SERVER_PORT = $ PORT
eval exec $ PWD / .java-buildpack / open_jdk_jre / bin / java $ JAVA_OPTS -cp $ PWD /ã org.springframework.boot.loader.JarLauncher '
ã¿ã¹ã¯ïŒ 'JAVA_OPTS = "-agentpathïŒ$ PWD / .java-buildpack / open_jdk_jre / bin / jvmkill-1.16.0_RELEASE = printHeapHistogram = 1
-XXïŒActiveProcessorCount = $ïŒnprocïŒ-Djava.io.tmpdir = $ TMPDIR -javaagentïŒ$ PWD / .java-buildpack /elastic_apm_agent/elastic_apm_agent-1.4.0.jar
-Delkapmagent.home = $ PWD / .java-buildpack / elastic_apm_agent -Delastic.apm.application_packages.enable.java.8 = true
-Djava.ext.dirs = $ PWD / .java-buildpack / container_security_providerïŒ$ PWD / .java-buildpack / open_jdk_jre / lib / ext
-Djava.security.properties = $ PWD / .java-buildpack / java_security / java.security $ JAVA_OPTS "
&& CALCULATED_MEMORY = $ïŒ$ PWD / .java-buildpack / open_jdk_jre / bin / java-buildpack-memory-calculator-3.13.0_RELEASE
-totMemory = $ MEMORY_LIMIT -loadedClasses = 25019 -poolType = metaspace -stackThreads = 250
-vmOptions = "$ JAVA_OPTS"ïŒ&& echo JVMã¡ã¢ãªæ§æïŒ$ CALCULATED_MEMORY
&& JAVA_OPTS = "$ JAVA_OPTS $ CALCULATED_MEMORY" && MALLOC_ARENA_MAX = 2 SERVER_PORT = $ PORT
eval exec $ PWD / .java-buildpack / open_jdk_jre / bin / java $ JAVA_OPTS -cp $ PWD /ã org.springframework.boot.loader.JarLauncher '
ããããã¬ãããªãªãŒã¹ã®ãã«ãã«å€±æããŸããïŒbuildpackã®ãªãªãŒã¹åºåãç¡å¹ã§ãïŒyamlïŒã¢ã³ããŒã·ã£ã«ãšã©ãŒïŒ
1è¡ç®ïŒ!! str Downloa...
ãbuildpackrunner.Releaseã«ã¢ã³ããŒã·ã£ãªã³ã°ã§ããŸãã
çµäºã¹ããŒã¿ã¹224```
ãã³ç§ãæã£ãŠãããã®ãåæåºããå¿
èŠããããŸããïŒãããã®ãã®ä»ã®ãªãªãŒã¹ãšã©ãŒã解決ããããã«ç§ãå¿
èŠã§ãã
ç§ãã¹ããã¯ããå¿
èŠããããŸãã ç§ã¯ãŸã ãããããŠããŸããã
çŸåšãã¹ã¿ãŒãã©ã³ãã䜿çšããŠããŸããããããã§ã¹ããä»ããŠãã©ã³ããããŒãããæ¹æ³ãããããŸããã§ããã
ã ããç§ã¯ã¡ããã©ç§ã®ãªããžããªãã¹ã¿ãŒã«ããŒãžãçŽããŸããã
https://github.com/kmacpher67/java-buildpack
ã©ãããããããæããŠãã ããã
ããã¯ããªãªãŒã¹ãã§ãŒãºäžã«ã³ã³ãœãŒã«ã«äœããåºåããŠããããã§ãã stdout
ã¯ãããã»ã¹æ§æãã€ããŒããéä¿¡ããããã«ããã®ãã§ãŒãºäžã«äºçŽãããŸãã
ã³ãŒããåçŽåããŠãã¹ãŠã®ããŠã³ããŒãåäœãå©çšããä»ã®APMçµ±åèšèšãšäžèŽããããšããã®åé¡ã¯è§£æ¶ããããšæããŸãã
@ kmacpher67 @nebhale
@bvader
https://github.com/kmacpher67/java-buildpack/tree/master/elastic-repo
ãã³ãææ¡ããããã«ããã®ãµããã£ã¬ã¯ããªãelastic
ãªããžããªã«ã³ããŒãããšãããã«ãã€ããªãé 眮ã§ããŸãããã®ãªããžããªãæŽæ°ããŠããããã®rawãã¡ã€ã«ãæãããã«ããããšãã§ããŸãã
ç§ã¯ElasticJavaAPMãšãŒãžã§ã³ãã®æè¡ãªãŒããŒãšååããŠããŸãã ç§ãã¡ã¯æ§æãªãã·ã§ã³/決å®ã«åãçµãã§ããŸãã ä»ã®ãã¹ãŠã®ããã¥ã¡ã³ã/äŸåé¢ä¿ã¯ããã«äŸåããŠããããããã€ããªãMavenãªããžããªã«æ®ãããšã«ãªããšæããŸãã
ãã®è°è«ã¯ããã§èŠãããšãã§ããŸãã
https://github.com/elastic/apm-agent-java/issues/523#issuecomment -472604463
@ kmacpher67ããã«ããªãã®åªåã«æè¬ããŸãïŒ
Elastic APMãšãŒãžã§ã³ãã®ããã¥ã¡ã³ããæŽæ°ããããšæããŸãããããããJRebelåºæã®ãã®ã§ãã£ãŠã¯ãªããŸããã äœãã足ããªããããããŸããããããã¯Elastic APMã®äžè¬çãªãã«ãããã¯ããã¥ã¡ã³ãã§ã¯ãããŸãããïŒ
ç§ãèšåããŠããã®ã¯ïŒ
https://github.com/kmacpher67/java-buildpack/blob/master/docs/framework-elastic_apm_agent.md
ãŸãããµããŒãã§ãã/ãµããŒãããå¿ èŠã®ããè¿œå ã®ãã©ã¡ãŒã¿ãŒãããã€ãããããã§ãã ãããããElasticããŒã ã§ãã®æåã®PRãååŸããåŸã確èªããŠæŽæ°ããããšãã§ããŸãã
äŸsecret_token
ã¯éåžžã«éèŠãªæ§æã§ãã
https://www.elastic.co/guide/en/apm/agent/java/current/config-reporter.html#config -secret-token
ElasticTeamã¯è²¢ç®ã楜ãã¿ã«ããŠããŸãã
@nebhaleã¯CLAã«åãçµãã§ããŸããããªããšç§ã¯éãæž¡ã£ããšä¿¡ããŠããŸããç§ã¯
@nebhale MavenãªããžããªãçŽæ¥ãµããŒãããèšç»ã¯ãããŸããïŒ https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent/maven-metadata.xmlã«ã¯ãå¿ èŠãªãã¹ãŠã®æ å ±ãçšæãããŠããã¯ãã§ããã圢åŒãå°ãç°ãªããŸãã
äŸãã°
maven_repository_root: https://repo1.maven.org/maven2/co/elastic/apm/elastic-apm-agent
maven_artifact: elastic-apm-agent-$version.jar
@bvader
ãšãŒãžã§ã³ãã®ããã¥ã¡ã³ããæŽæ°ããŸããã
secret_token
ã®ãµãŒãã¹ãªãŒããŒã©ã€ããè¿œå ããŸãã
ttpsïŒ//github.com/kmacpher67/java-buildpack
è¿œå ãããªãã·ã§ã³ã®ããããã£ãã¡ã€ã«ããããŸãããªããžããªã«è¿œå ã§ãããµã³ãã«ãã¡ã€ã«ã¯ãããŸããïŒ
ãã«ãããã¯ã«ã¯ããã®ããã®å ŽæããããŸãã
https://github.com/kmacpher67/java-buildpack/tree/master/resources
Maven XMLãµããŒãã«+1祚ãæããã°ãç§ã¯ãããæžããã§ãããããç§ã¯ã«ããŒããã°ã©ããŒã§ã¯ãªããcfã®äººã ãä»ã®ãšãŒãžã§ã³ãã«åãç¶æ³ãäžãããšã¯æããŸããã index.ymlãè¿œå ã§ãããšçæ³çã§ãããè¿œå ã§ããªãå Žåã¯ããç¥ãããã ãããåè¿°ã®ãããžã§ã¯ãããã§ãã¯ããŠããããã®ã¢ã€ãã ãã¹ããŒãžã³ã°ããããã®äžå¿çãªäººã ãç²åŸããŸãã
ç§ã¯cfã®äººã ãä»ã®ãšãŒãžã§ã³ãã«åãç¶æ³ãäžããã ãããšã¯æããªã
ããã¯ãMavenãµããŒããè¿œå ããããã®è°è«ã ãšæããŸã-Elastic APMã ãã§ãªããä»ã®äººã«ãšã£ãŠãç°¡åã«ãªããŸãð
ãããŸã§ã®éã index.yml
ãgithubãªããžããªã«è¿œå ããŸããïŒ https ïŒ
@ kmacpher67
index.ymlã¯æ¬¡ã®å Žæã«ãããŸãã
https://raw.githubusercontent.com/elastic/apm-agent-java/master/cloudfoundry/index.yml
1ïŒ secret_token
ã®æŽæ°ã«æè¬ããŸã
2ïŒããã¥ã¡ã³ãã«é¢ããŠã¯ããã¹ãŠã®JRebelåç §ãJRebelæ€åºãªã©ã«ã€ããŠãŸã ããªãæ··ä¹±ããŠããŸããElasticAPMãšãŒãžã§ã³ã/ãã«ãããã¯ã«ã¯ããµãŒãããŒãã£ã®äŸåé¢ä¿/åç §ãJRebelãžã®ãã€ããŒãªã³ã¯ããªãã¯ãã§ãã Elastic JavaAPMããã¥ã¡ã³ãã§ããã«æé ãæäŸã§ããŸãã
ãã®ããŒãžã¯NewRelicããŒãžã®ããã«èŠãããšæããŸãã ãããã¯ãç§ã¯äœããå®å šã«èŠéããŠããŠãããã¯ã©ããããããJRebelãšç·å¯ã«çµã³ã€ããŠããŸãã
https://github.com/cloudfoundry/java-buildpack/blob/master/docs/framework-new_relic_agent.md
ç§ã¯ããªãã®ãã©ãŒã¯ãéããŠããŸãã¯ç§ãã¡ãå䜵ãããããã«åå ããŠå©ããŠãããããšãå¬ããæããŸãã ããããããã¹ãŠã®JRebelãªãã¡ã¬ã³ã¹ãåãåºããŠéå§ããŸãã
äŸ
ElasticAPMãšãŒãžã§ã³ããã¬ãŒã ã¯ãŒã¯
Elastic APM Agent Frameworkã«ããããã€ã³ããããElasticAPMãµãŒãã¹ã§åäœããããã«ã¢ããªã±ãŒã·ã§ã³ãèªåçã«æ§æãããŸãã
æ€åºåºæº| åäžã®ãã€ã³ããããNewRelicãµãŒãã¹ã®ååšãNewRelicãµãŒãã¹ã®ååšã¯ãååãã©ãã«ããŸãã¯ã¿ã°ã®ãµãã¹ããªã³ã°ãšããŠ
elastic-apm
ãæã€ãµãŒãã¹ãå«ãVCAP_SERVICES
ãã€ããŒããšããŠå®çŸ©ãããŸãã
-| -
ã¿ã°|elastic-agent=<version>
3ïŒéå ¬åŒã®ããããã£ãã¡ã€ã«ããããŸããããã¹ãŠã®ããããã£ã«ã¯åŠ¥åœãªããã©ã«ãããããŸãããããªãã§ããŒãžããã«ã¯ããšã³ãžãã¢ãªã³ã°ããŒã ãé¢äžãããå¿ èŠããããŸããæåã«çµ¶å¯Ÿã«å¿ èŠã§ãªãéããåŸã§è¿œå ã§ããŸãã
@nebhaleæåã«ããããããŒã¿çãŸãã¯å®éšçããšããŠããŒã¯ããæ¹æ³ã¯ãããŸããïŒ ãããšãããããã¡ããã©å ¥ã£ãŠãç§ãã¡ãç¹°ãè¿ãã®ã§ãããç§ã¯ããã»ã¹ã«ã€ããŠå°ãäžæ確ã§ãã Elasticã¯ã @ kmacpher67ãåºç€ãšããŠæäŸãããã®ãã°ãããäœæ¥ãç¹°ãè¿ããããšæãã§ãããã
ããã¥ã¡ã³ãã®ã³ããŒãšè²Œãä»ããä¿®æ£ããŸãã jrebelãŒãåç §ãåé€ããŸããã
ãªãªãŒã¹ãã€ããŒãã«Downloa...
ããçš®ã®ã³ã³ãœãŒã«ãã°ããŸã ååŸããŠããŸã
Failed to build droplet release: buildpack's release output invalid: yaml: unmarshal errors:
line 1: cannot unmarshal !!str `Downloa...` into buildpackrunner.Release
Exit status 224
次ã®golangã©ãããŒããæ¥ãŠããããã§ãã
https://github.com/cloudfoundry/buildpackapplifecycle/blob/master/buildpackrunner/runner.go#L484
ãã¹ã¿ãŒãªããžããªãããã«ãªã¯ãšã¹ããèŠæ±ããå¿
èŠããããŸããïŒ
ææ°ã®ã¢ããããŒãã¯ãElasticã«ããindex.ymlããã€ã³ãããããšã§æ©èœããŸãã
@nebhaleæåã«ããããããŒã¿çãŸãã¯å®éšçããšããŠããŒã¯ããæ¹æ³ã¯ãããŸããïŒ ãããšãããããã¡ããã©å ¥ã£ãŠãç§ãã¡ãç¹°ãè¿ãã®ã§ãããç§ã¯ããã»ã¹ã«ã€ããŠå°ãäžæ確ã§ãã Elasticã¯ããã®çŽ æŽãããäœæ¥ãç¹°ãè¿ããããšæãã§ãããã
ç§ã¯ãã®ããã®ã¹ããã¯ãã¹ããæžããŸãããç§ã¯ããŒã«ã«ã§ã«ããŒãå®è¡ããŠããªãã®ã§ããã¹ãã®å質ãçå£ã«çã£ãŠããŸãã
ç§ã¯ãã«ãããã¯ã®å€æŽããããã³ã°ããŠcfã¢ããªã¹ããŒã¹ã«ããã·ã¥ããŠããŸããã
ãã¹ãã³ãŒãïŒ
https://github.com/kmacpher67/java-buildpack/blob/368dc9cc1a08670b49cdbf9d226eaae220ab4b77/spec/java_buildpack/framework/elastic_apm_agent_spec.rb#L80
çæ³çã«ã¯ããã®æ©èœãããããã€ãCFã¢ããªã¹ããŒã¹ã«é 眮ããããElastic 6.4ã€ã³ã¹ã¿ã³ã¹ã«æ»ã£ãŠãapmæ©èœãæå¹ã«ããŸãã ãã¡ãã§ã¹ããªãŒãã³ã°ãéå§ãããã®ãã芧ãã ããã
ããã ã幞ãã«ãããããããšãåŠã³ãŸãã!!ãå®éã«diffãèŠãããšãã§ããdownloadcache.rbã«ãŸã ãããã°ãæ®ã£ãŠããããšã«æ°ã¥ããŸãããåé€ããã®ãå¿ããŠããŸãããç¬ã
eval exec $PWD/.java-buildpack/open_jdk_jre/bin/java $JAVA_OPTS -cp $PWD/. org.springframework.boot.loader.JarLauncher'
Exit status 0
Uploading droplet, build artifacts cache...
Uploading droplet...
Uploading build artifacts cache...
Uploaded build artifacts cache (52M)
Uploaded droplet (106.1M)
Uploading complete
Cell 3f2ea5c4-31a0-487d-86f9-3020c48e4235 stopping instance 2001f7e3-9fb3-4936-ac28-ef571e1b86e2
Cell 3f2ea5c4-31a0-487d-86f9-3020c48e4235 destroying container for instance 2001f7e3-9fb3-4936-ac28-ef571e1b86e2
Cell 3f2ea5c4-31a0-487d-86f9-3020c48e4235 successfully destroyed container for instance 2001f7e3-9fb3-4936-ac28-ef571e1b86e2
Waiting for app to start...
state since cpu memory disk details
#0 running 2019-03-14T17:39:16Z 296.8% 597.4M of 1G 192.4M of 1G
ä»ã¯ã¯ã©ãã·ã¥ããŸããïŒ ã¿ãŒã²ãããã«ãã©ã³ããæŽæ°ããŸãã
次ã«ãAPMãã€ã³ã¹ããŒã«ããããã«ããŒã«ã«ã®cfELK6.4ã€ã³ã¹ããŒã«ãä¿®æ£ããŸãã
äœã/ããäœããå ±åããããèŠãŠãã ããã
@nebhaleã³ããããæŒãã€ã¶ã/æŒãã€ã¶ãããã«ããŸããïŒ ã³ããããšããŠããã«ç§ã®+600ãããã³ã°ã®å埩ããããŸãã
https://github.com/cloudfoundry/java-buildpack/pull/696
@bvader
apmã®ååšããªãport8200ããããããããšããŠããŸãã ä»ãããèšå®ããå¿
èŠããããŸãã
ãšã©ã¹ãã£ãã¯apmã®ã¯ã€ãã¯ã¹ã¿ãŒãã»ããã¢ããã¬ã€ãã«é¢ããæ æ°ãªäººã®ããã®ç°¡åãªreadmeã¯ãããŸããïŒ
`` `
2019-03-14T13ïŒ39ïŒ43.03-0400 [APP / PROC / WEB / 0] OUT 2019-03-14 17ïŒ39ïŒ43.037 [apm-reporter]ãšã©ãŒco.elastic.apm.agent.report.IntakeV2ReportingEventHandler-倱æããŸãããã®ãšã©ãŒã§ã¿ã€ãMETRICSã®ã€ãã³ããåŠçããã«ã¯ïŒæ¥ç¶ãã¿ã€ã ã¢ãŠãããŸãã
2019-03-14T13ïŒ39ïŒ43.03-0400 [APP / PROC / WEB / 0] OUT 2019-03-14 17ïŒ39ïŒ43.038 [apm-reporter] INFOco.elastic.apm.agent.report.IntakeV2ReportingEventHandler-ãããã³ã°1ç§éãªãïŒÂ±10ïŒ
ïŒ `` ``
@ kmacpher67
Dockerã«æ £ããŠããå Žåã¯ãããã䜿çšã§ããŸãã ããã«ãããElasticãKibanaãApm-Serverç°å¢ãå°ãç«ã¡äžããã§ãããã
https://gist.github.com/bvader/9665fa7b3bd69457517e41a7c28b4725
ããã§TAG=6.6.2 docker-compose -f elastic-apm-compose.yml up
# After the stack is full running please go to, this is how you install / configure the Kibana / Elasticsearch side dashboards etc.
http://localhost:5601/app/kibana#/home/tutorial/apm?_g=()
ããã¯ãããŒã«ã«Java ...ãšãã¹ããããã¹ãŠã®æé ãå«ããµã³ãã«Javaã¢ããªã§ãã
https://gist.github.com/bvader/cc9fea7e6f8f709dfa2ad14776eed7fe
apm-serverãå¿ èŠãªå Žåã¯ãããŠã³ããŒã/ã€ã³ã¹ããŒã«ããŠæå°éã®æ§æãè¡ããŸãã tar.gzãšminimumconfigãããŠã³ããŒãããã ãã§ãã
https://www.elastic.co/downloads/apm
å¿ èŠãªã®ã¯ãelasticsearchã€ã³ã¹ã¿ã³ã¹ãšapm-serverãã¹ããžã®åºåãæ§æããããšã ãã§ãã
apm-server:
# Defines the host and port the server is listening on. use "unix:/path/to.sock" to listen on a unix domain socket.
host: "10.168.0.3:8200"
#-------------------------- Elasticsearch output ------------------------------
output.elasticsearch:
# Array of hosts to connect to.
# Scheme and port can be left out and will be set to the default (http and 9200)
# In case you specify and additional path, the scheme is required: http://localhost:9200/path
# IPv6 addresses should always be defined as: https://[2001:db8::1]:9200
hosts: ["localhost:9200"]
# Boolean flag to enable or disable the output module.
#enabled: true
# Set gzip compression level.
#compression_level: 0
# Optional protocol and basic auth credentials.
#protocol: "https"
#username: "elastic"
#password: "changeme"
次ã«å®è¡ããŸã
https://www.elastic.co/guide/en/apm/server/current/setting-up-and-running.html
./apm-server -e
ãŸããæ瀺ã«åŸã£ãŠãã ãããããã¯ãKibana / Elasticsearchãµã€ãããã·ã¥ããŒããªã©ãã¢ããããŒã/æ§æããæ¹æ³ã§ãã
# After the stack is full running please go to
http://<kibanahost>:5601/app/kibana#/home/tutorial/apm?_g=()
@ kmacpher67 APMãµãŒããŒã§å°ãå©ããå¿ èŠãªå Žåãå ±åäœæ¥ãå¿ èŠãªå Žåã¯ãç§ã«ç¥ãããŠãã ããããºãŒã ã«ãžã£ã³ãã§ãããããããŸããã ããªãã¯ç§ã®é»åã¡ãŒã«ã§çŽæ¥ç§ã«é£çµ¡ããããšãã§ããŸã...
æåã«ãããŒã¿çãŸãã¯å®éšçãã«ã€ããŠæ··ä¹±ããŠããå Žåã¯ããè©«ã³ããŸããïŒ ãã³ã¡ã³ãç§ã¯CFããã»ã¹ãåŠã³ããã«ãããã¯ããã»ã¹ãæ§ç¯ããŠãããšããã§ããç§/ç§ãã¡/ãšã©ã¹ãã£ãã¯/ OSSã³ãã¥ããã£ã¯ããªãã®åªåãšã³ãã¥ããã£ã®ç²Ÿç¥ã«å¿ããæè¬ããŠããŸãã
æ¥é±ãã¬ããããŒãžãããŠããªãå Žåã¯ãã«ããŠã³ããŠãèªåã®åŽã§ã€ã³ã¹ããŒã«/å®è¡ããããšããŸãã
@nebhale
æºåãã§ãããPRãèŠãŠã¿ãæºåãã§ããŠãããšæããŸãã
ããŒãžãªã¯ãšã¹ãã®ãã«ãåŸ
ã£ãŠããŸããã競åããããŸãã
ã¬ãã¥ãŒããªã¯ãšã¹ã
ãã®ãã«ãªã¯ãšã¹ãã«ã€ããŠã¬ãã¥ãŒããªã¯ãšã¹ããããŸããã ããŒãžããå¿
èŠã¯ãããŸããã
@nebhale
nebhaleã¯ã¬ãã¥ãŒãèŠæ±ãããŸãã
ãã®ãã©ã³ãã«ã¯ã解決ããå¿
èŠã®ãã競åããããŸã
ãã®ãªããžããªãžã®æžã蟌ã¿ã¢ã¯ã»ã¹æš©ãæã€ãŠãŒã¶ãŒã®ã¿ããã«ãªã¯ãšã¹ããããŒãžã§ããŸãã
競åãããã¡ã€ã«
å€æŽããã§ãªãŒããã¯ããŠææ°ã®ãã®ã«ç§»åããå¿
èŠããããšæããŸãããããããææ°ããŒãžã§ã³ã«åºã¥ããŠæ°ããFORKãå®è¡ããŸãã
ãã®MRã¹ã¬ããã§ãæãããããåéä¿¡ããããå°ããŸããã
ããã¯ãã«ãªã¯ãšã¹ãããšã«éããå¿
èŠããããŸã
https://github.com/cloudfoundry/java-buildpack/pull/696