步骤 3:安装 APM 代理编辑

APM 代理是用与您的服务相同的语言编写的。要监控新服务,您必须安装代理并使用服务名称、APM Server 主机和密钥令牌对其进行配置。

  • 服务名称:APM 集成将已检测服务的名称(在每个 APM 代理的配置中定义)映射到其数据存储在 Elasticsearch 中的索引。服务名称不区分大小写,并且必须是唯一的。例如,您不能有一个名为 Foo 的服务,另一个名为 foo。特殊字符将从服务名称中删除,并用下划线 (_) 替换。
  • APM Server URL:APM Server 监听事件的地址和端口。这应该与设置 APM 集成时定义的主机和端口匹配。
  • 密钥令牌:APM 代理和 APM Server 通信的身份验证方法。这应该与设置 APM 集成时定义的密钥令牌匹配。

如果您需要更改 APM Server URL 或密钥令牌以匹配您的 APM 代理,则可以编辑您的 APM 集成设置。

使用 -javaagent JVM 选项手动设置和配置代理。不需要更改应用程序代码,但这需要重新启动应用程序。有关此设置方法的更多信息,请参见下文。

1. 下载 APM 代理

开始使用 Elastic APM Java 代理的第一步是获取代理 JAR 的副本。Java 代理版本发布到 Maven 中央仓库。为了获取副本,您可以

  • 从 Maven 中央仓库下载 最新代理以前的版本
  • 使用 curl 下载

    curl -o 'elastic-apm-agent.jar' -L 'https://oss.sonatype.org/service/local/artifact/maven/redirect?r=releases&g=co.elastic.apm&a=elastic-apm-agent&v=LATEST'

2. 添加 -javaagent 标志

启动应用程序时,添加 JVM 标志 -javaagent:/path/to/elastic-apm-agent-<version>.jar

3. 配置

不同的应用程序服务器具有不同的设置 -javaagent 标志和系统属性的方法。启动您的应用程序(例如 Spring Boot 应用程序或其他嵌入式服务器)并添加 -javaagent JVM 标志。使用 -D 前缀使用系统属性配置代理

java -javaagent:/path/to/elastic-apm-agent-<version>.jar -Delastic.apm.service_name=my-cool-service -Delastic.apm.application_packages=org.example,org.another.example -Delastic.apm.server_url=http://127.0.0.1:8200 -jar my-application.jar

有关更多信息,请参阅 使用 -javaagent 标志进行手动设置

其他设置方法

  • 使用 apm-agent-attach-cli.jar 自动设置
    无需更改 JVM 或应用程序服务器的配置即可自动设置代理。此方法不需要更改应用程序代码或 JVM 选项,并允许附加到正在运行的 JVM。有关此设置方法的更多信息,请参阅 Java 代理文档
  • 编程 API 设置以自附加
    使用一行代码更改和一个额外的 apm-agent-attach 依赖项来设置代理。此方法不需要更改 JVM 选项,并且代理工件嵌入到打包的应用程序二进制文件中。有关此设置方法的更多信息,请参阅 Java 代理文档