当前位置: 首页 > 知识库问答 >
问题:

在OpenShift上使用弹性apmJava代理运行Spring Boot应用程序

郭翰翮
2023-03-14

我想在OpenShift集群上部署一个Spring Boot应用程序,我想用elastic apm监控该集群,因此要用elastic apm代理。

我设法在一个项目中部署了一个Elasticsearch实例、一个Kibana实例和一个apm服务器

除此之外,我还设法部署了Spring Boot应用程序。为此,我使用了网络控制台。我从GitLab导入了我的项目,并选择了Java8映像生成器。然而,使用这种方法,我没有找到一种通过关联java-agent弹性apm-agent来启动我的应用程序的方法。

在本地,我运行以下命令来启动我的应用程序:

mvn package && java -javaagent:elastic-apm-agent/elastic-apm-agent-1.26.0.jar \
-Delastic.apm.service_name=ms-salarie \
-Delastic.apm.server_urls=http://localhost:8200 \
-Delastic.apm.secret_token= \
-Delastic.apm.environment=development \
-Delastic.apm.application_packages=com.leanerp.salarie \
-Delastic.apm.config_file=elastic-apm-agent/elasticapm.properties \
-jar target/salarie-1.1.3-SNAPSHOT.jar

是否有方法覆盖应用程序容器启动的命令?还是另一种允许我使用弹性apm代理的解决方案?

我是OpenShift的新手,所以我不完全理解所有的概念

共有2个答案

戚泰
2023-03-14

好的,所以答案是添加这个环境变量:

JAVA_OPTS_APPEND=-javaagent:{{path_to_elastic_apm_agent}}

此命令允许您使用选项启动java应用程序。

步浩壤
2023-03-14

Java代理允许多种方式对其进行配置,其中之一是命令行系统属性。其他包括包装一个elasticapm。属性资源文件或设置环境变量。

查看文档。小摘录:

>

  • 属性文件:elasticapm.properties文件位于与代理jar相同的文件夹中,或者通过config_file选项提供。动态配置。

    环境变量:所有配置键都是大写的,前缀为ELASTIC_APM_

    不同的期权来源具有不同的优先级和优先级。

    要将代理连接到正在运行的JVM进程(从应用程序内部),可以使用API进行自连接。

  •  类似资料: