我目前正在做一个PoC,将Elastic APM集成到我的spring应用程序中。我关注的是这个页面:- https://www.elastic.co/guide/en/apm/agent/java/1.x/setup-attach-api.html以编程方式附加elastic-apm jar。
我已经将所需的jar添加到pom.xml中,但是我不知道应该如何将Elastic Apm (ElasticApmAttacher.attach())附加到我正常的spring代码中。给出的示例是针对SpringBoot的。但是我的应用程序是基于Spring核心的( spring- core,spring-web..)使用Jax-Rs公开rest服务。
发布于 2020-03-05 15:37:36
您可以在Spring Application主类中附加ElasticApmAttacher.attach()
对于打包为war文件并部署到Tomcat服务器的SpringBootApplication,可以将其添加到configure方法中
下面的代码可能会有所帮助:
package com.test.main
import co.elastic.apm.attach.ElasticApmAttacher
import org.springframework.boot.Banner
import org.springframework.boot.SpringApplication
import org.springframework.boot.autoconfigure.SpringBootApplication
import org.springframework.boot.builder.SpringApplicationBuilder
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer
@SpringBootApplication(scanBasePackages = [ "com.test" ])
class Application extends SpringBootServletInitializer{
static void main(String[] args) {
SpringApplication app = new SpringApplication(Application.class)
app.setBannerMode(Banner.Mode.OFF)
ElasticApmAttacher.attach();
app.run(args)
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
ElasticApmAttacher.attach();
return application.sources(Application.class)
}
}发布于 2020-05-07 02:46:04
Map<String, String> apmConfiguration = new HashMap<>();
apmConfiguration.put("server_urls", "http://localhost:8200");
apmConfiguration.put("service_name", "SpringBootApp");
ElasticApmAttacher.attach(apmConfiguration);https://stackoverflow.com/questions/58780229
复制相似问题