APM:参数设置与启动

本文详细介绍了APMagent参数的配置方法,包括必须项service_name、application_packages和server_url的设置,以及如何通过命令行或配置文件进行配置。同时,文章还提供了SpringBoot和Tomcat项目的具体配置示例,并探讨了常见的问题排查点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

APM agent 参数

-Delastic.apm.service_name=my-test-service
-Delastic.apm.application_packages=com.yiz
-Delastic.apm.server_url=http://localhost:8200
-Delastic.apm.logging.log_level=DEBUG
-Delastic.apm.active=true
-Delastic.apm.logging.log_file=/home/pengx/APM/apm-agent.log

其中,service_name、application_packages和server_url是必须项。

手动加在启动命令行后面,或者放在与apm-agent.jar相同的目录,命名  elasticapm.properties ,不过写成配置文件没有生效

SpringBoot的启动,使用 elasticapm.properties 配置文件的方式:

java -javaagent:/path/to/elastic-apm-agent-<version>.jar -jar my-spring-boot-application.jar

也可以把配置写到命令行中,实际书写的时候把回车给去掉。

java -javaagent:/path/to/elastic-apm-agent-<version>.jar 
-Delastic.apm.service_name=my-test-service 
-Delastic.apm.application_packages=com.yiz 
-Delastic.apm.server_url=http://localhost:8200 
-Delastic.apm.logging.log_level=DEBUG 
-Delastic.apm.active=true 
-Delastic.apm.logging.log_file=/home/pengx/APM/apm-agent.log 
-jar my-spring-boot-application.jar

Tomcat的项目启动:

创建 $CATALINA_BASE/bin/setenv.sh

加入这个:

export CATALINA_OPTS="$CATALINA_OPTS -javaagent:/path/to/elastic-apm-agent-<version>.jar"

 

 

问题排查点:

配置文件问题:

a、配置写得不对

b、配置文件未生效(未被读取或其他原因,可查看相关日志)

c、配置文件的权限问题

配置文件列表:

1、elasticapm.properties

2、apm-server.yml

 

端口被占用或冲突

 

环境变量的缺失:$CATALINA_BASE 、 $CATALINA_OPTS

 

ip地址写成 localhost 与写成 192.168.50.6 的区别

日志排查点:

1、agent的日志:APM/apm-agent.log

2、apm-server的日志:apm-server/bin/log.txt

3、Elastic的日志:elasticsearch/bin/log.txt

 

Jar包或War包的问题

 

连通性排查:agent——>server——>elastic——>kibana

 

apm-agent-log记录的WARN日志:

2018-08-22 11:32:40.055 [main] INFO co.elastic.apm.configuration.StartupInfo - Starting Elastic APM 0.6.0 on Java 1.8.0_161 (Oracle Corporation) Linux 4.15.0-32-generic
2018-08-22 11:32:40.056 [main] DEBUG co.elastic.apm.configuration.StartupInfo - service_name: 'my-test-service' (source: Java System Properties)
2018-08-22 11:32:40.056 [main] DEBUG co.elastic.apm.configuration.StartupInfo - server_url: 'http://192.168.50.6:8200' (source: Java System Properties)
2018-08-22 11:32:40.056 [main] DEBUG co.elastic.apm.configuration.StartupInfo - application_packages: 'com.yiz' (source: Java System Properties)
2018-08-22 11:32:40.056 [main] DEBUG co.elastic.apm.configuration.StartupInfo - logging.log_level: 'DEBUG' (source: Java System Properties)
2018-08-22 11:32:40.056 [main] DEBUG co.elastic.apm.configuration.StartupInfo - logging.log_file: '/home/pengx/APM/apm-agent.log' (source: Java System Properties)
2018-08-22 11:32:40.063 [apm-server-healthcheck] WARN co.elastic.apm.report.ApmServerHttpPayloadSender - Elastic APM server is not available (Failed to connect to /192.168.50.6:8200)
2018-08-22 11:32:40.167 [main] DEBUG co.elastic.apm.bci.ElasticApmAgent - Applying advice co.elastic.apm.plugin.api.ElasticApmApiInstrumentation$StartTransactionInstrumentation

 

1、apm.server_url的ip是本机IP,用localhost,不能用192.168.50.6
2、SpringBoot的jar包使用绝对路径
3、apm-agent的jar包可能也必须得使用全路径

java -javaagent:/home/pengx/APM/apm-agent-0.6.0/elastic-apm-agent-0.6.0.jar 
-Delastic.apm.service_name=my-test-service 
-Delastic.apm.application_packages=com.yiz 
-Delastic.apm.logging.log_level=DEBUG 
-Delastic.apm.server_url=http://localhost:8200 
-Delastic.apm.active=true 
-Delastic.apm.logging.log_file=/home/pengx/APM/apm-agent.log 
-jar /home/pengx/APM/SpringBootTest-0.0.2/SpringBootTest-0.0.1-SNAPSHOT.jar

 

启动成功的SpringBoot的Demo,apm-agent.log日志部分信息:

2018-08-22 14:12:21.609 [main] DEBUG co.elastic.apm.bci.ElasticApmAgent - Applying advice co.elastic.apm.opentracing.impl.ApmSpanInstrumentation$BaggageItemsInstrumentation
2018-08-22 14:12:21.610 [main] DEBUG co.elastic.apm.bci.ElasticApmAgent - Applying advice co.elastic.apm.opentracing.impl.ApmSpanBuilderInstrumentation$StartApmSpanInstrumentation
2018-08-22 14:12:21.611 [main] DEBUG co.elastic.apm.bci.ElasticApmAgent - Applying advice co.elastic.apm.opentracing.impl.ApmSpanBuilderInstrumentation$CreateTransactionInstrumentation
2018-08-22 14:12:21.612 [main] DEBUG co.elastic.apm.bci.ElasticApmAgent - Applying advice co.elastic.apm.opentracing.impl.ApmSpanBuilderInstrumentation$CreateSpanInstrumentation
2018-08-22 14:12:21.614 [main] DEBUG co.elastic.apm.bci.ElasticApmAgent - Applying advice co.elastic.apm.opentracing.impl.ScopeManagerInstrumentation$ActivateInstrumentation
2018-08-22 14:12:21.614 [main] DEBUG co.elastic.apm.bci.ElasticApmAgent - Applying advice co.elastic.apm.opentracing.impl.ScopeManagerInstrumentation$CurrentTransactionInstrumentation
2018-08-22 14:12:21.615 [main] DEBUG co.elastic.apm.bci.ElasticApmAgent - Applying advice co.elastic.apm.opentracing.impl.ScopeManagerInstrumentation$CurrentSpanInstrumentation
2018-08-22 14:12:21.616 [main] DEBUG co.elastic.apm.bci.ElasticApmAgent - Applying advice co.elastic.apm.opentracing.impl.ApmScopeInstrumentation
2018-08-22 14:12:21.616 [main] DEBUG co.elastic.apm.bci.ElasticApmAgent - Applying advice co.elastic.apm.servlet.ServletInstrumentation
2018-08-22 14:12:21.618 [main] DEBUG co.elastic.apm.bci.ElasticApmAgent - Applying advice co.elastic.apm.servlet.FilterChainInstrumentation
2018-08-22 14:12:21.619 [main] DEBUG co.elastic.apm.bci.ElasticApmAgent - Applying advice co.elastic.apm.spring.webmvc.SpringTransactionNameInstrumentation
2018-08-22 14:12:21.619 [main] DEBUG co.elastic.apm.bci.ElasticApmAgent - Applied 31 advices
2018-08-22 14:12:21.450 [main] INFO co.elastic.apm.configuration.StartupInfo - Starting Elastic APM 0.6.0 on Java 1.8.0_161 (Oracle Corporation) Linux 4.15.0-32-generic
2018-08-22 14:12:21.451 [main] DEBUG co.elastic.apm.configuration.StartupInfo - service_name: 'my-test-service' (source: Java System Properties)
2018-08-22 14:12:21.451 [main] DEBUG co.elastic.apm.configuration.StartupInfo - application_packages: 'com.yiz' (source: Java System Properties)
2018-08-22 14:12:21.452 [main] DEBUG co.elastic.apm.configuration.StartupInfo - logging.log_level: 'DEBUG' (source: Java System Properties)
2018-08-22 14:12:21.452 [main] DEBUG co.elastic.apm.configuration.StartupInfo - logging.log_file: '/home/pengx/APM/apm-agent.log' (source: Java System Properties)

 

 

 

SpringBoot的启动日志:
2018-08-22 14:12:26.805  INFO 7859 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path '/springbootTest'
这个  context path  即是  http://192.168.50.6:8080/springbootTest/welcome   中间的 context path

 

去掉elasticapm.properties,然后启动tomca, tomcat/logs/catalina.out日志记录:

2018-08-22 16:30:04.153 [main] WARN co.elastic.apm.impl.ElasticApmTracerBuilder - Missing required value for configuration option service_name
2018-08-22 16:30:04.916 [main] INFO co.elastic.apm.configuration.StartupInfo - Starting Elastic APM 0.6.0 on Java 1.8.0_161 (Oracle Corporation) Linux 4.15.0-32-generic
22-Aug-2018 16:30:05.825 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version:        Apache Tomcat/8.5.32
22-Aug-2018 16:30:05.827 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built:          Jun 20 2018 19:50:35 UTC
22-Aug-2018 16:30:05.828 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server number:         8.5.32.0
22-Aug-2018 16:30:05.831 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name:               Linux
22-Aug-2018 16:30:05.831 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version:            4.15.0-32-generic
22-Aug-2018 16:30:05.831 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture:          amd64
22-Aug-2018 16:30:05.832 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home:             /usr/lib/jvm/java-8-oracle/jre
22-Aug-2018 16:30:05.832 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version:           1.8.0_161-b12
22-Aug-2018 16:30:05.832 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor:            Oracle Corporation
22-Aug-2018 16:30:05.832 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE:         /home/pengx/apache-tomcat-8.5.32
22-Aug-2018 16:30:05.832 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME:         /home/pengx/apache-tomcat-8.5.32
22-Aug-2018 16:30:05.832 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/home/pengx/apache-tomcat-8.5.32/conf/logging.properties
22-Aug-2018 16:30:05.832 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
22-Aug-2018 16:30:05.833 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048
22-Aug-2018 16:30:05.833 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources
22-Aug-2018 16:30:05.833 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0027
22-Aug-2018 16:30:05.833 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -javaagent:/home/pengx/APM/apm-agent-0.6.0/elastic-apm-agent-0.6.0.jar
22-Aug-2018 16:30:05.833 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=
22-Aug-2018 16:30:05.833 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/home/pengx/apache-tomcat-8.5.32
22-Aug-2018 16:30:05.833 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/home/pengx/apache-tomcat-8.5.32
22-Aug-2018 16:30:05.833 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/home/pengx/apache-tomcat-8.5.32/temp
22-Aug-2018 16:30:05.834 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
 

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值