在 Azure 应用服务中为 Tomcat 或 Java SE 应用配置 APM 平台
本文介绍了如何将 Azure 应用服务上部署的 Java 应用程序与 Azure Monitor Application Insights、NewRelic 和 AppDynamics 应用程序性能监视 (APM) 平台进行连接。
Azure 应用服务以三种形式在完全托管的服务上运行 Java Web 应用程序:
- Java SE - 可以运行作为 JAR 包(其中包含嵌入式服务器)部署的应用(例如 Spring Boot、Dropwizard、Quarkus,或包含嵌入式 Tomcat 或 Jetty 服务器的应用)。
- Tomcat - 内置的 Tomcat 服务器可以运行作为 WAR 包部署的应用。
备注
对于 Spring 应用程序,我们建议使用 Azure Spring Apps。 但是,你仍然可以使用 Azure 应用服务作为目标。
Azure Monitor Application Insights 是一项云本机应用程序监视服务,它使客户能够观察故障、瓶颈和使用模式,以便提高应用程序性能并减少平均解决时间 (MTTR)。 只需单击几下或使用 CLI 命令,就可以启用对 Node.js 或 Java 应用的监视,自动收集日志、指标和分布式跟踪,而无需在应用中包含 SDK。 若要详细了解可用于配置代理的应用设置,请查看 Application Insights 文档。
要从 Azure 门户启用“Application Insights”,请转到左侧菜单的“Application Insights”,选择“启用 Application Insights”。 默认使用与 Web 应用名称相同的新 Application Insights 资源。 可以选择使用现有的 Application Insights 资源,也可以更改名称。 选择底部的“应用”。
在 NewRelic.com 上创建一个 NewRelic 帐户
从 NewRelic 下载 Java 代理。 它具有类似于 newrelic-java-x.x.x.zip 的文件名。
复制你的许可证密钥,稍后需要用它来配置代理。
通过 SSH 登录到应用服务实例,并创建新目录 /home/site/wwwroot/apm。
将解压缩的 NewRelic Java 代理文件上传到 /home/site/wwwroot/apm 下的一个目录中。 代理的文件应位于 /home/site/wwwroot/apm/newrelic 中。
修改位于 /home/site/wwwroot/apm/newrelic/newrelic.yml 处的 YAML 文件,并将占位符许可证值替换为你自己的许可证密钥。
在 Azure 门户中,浏览到你在应用服务中的应用程序并创建一个新的应用程序设置。
创建一个名为
JAVA_OPTS
且值为-javaagent:/home/site/wwwroot/apm/newrelic/newrelic.jar
的环境变量。创建一个名为
CATALINA_OPTS
且值为-javaagent:/home/site/wwwroot/apm/newrelic/newrelic.jar
的环境变量。
在 AppDynamics.com 上创建一个 AppDynamics 帐户
从 AppDynamics 网站下载 Java 代理。 文件名类似于 AppServerAgent-x.x.x.xxxxx.zip
通过 SSH 登录到应用服务实例,并创建新目录 /home/site/wwwroot/apm。
将 Java 代理文件上传到 /home/site/wwwroot/apm 下的一个目录中。 代理的文件应位于 /home/site/wwwroot/apm/appdynamics 中。
在 Azure 门户中,浏览到你在应用服务中的应用程序并创建一个新的应用程序设置。
创建一个名为
JAVA_OPTS
且值为-javaagent:/home/site/wwwroot/apm/appdynamics/javaagent.jar -Dappdynamics.agent.applicationName=<app-name>
的环境变量,其中,<app-name>
是你的应用服务名称。 如果你已有JAVA_OPTS
的环境变量,请将-javaagent:/...
选项追加到当前值的末尾。创建一个名为
CATALINA_OPTS
且值为-javaagent:/home/site/wwwroot/apm/appdynamics/javaagent.jar -Dappdynamics.agent.applicationName=<app-name>
的环境变量,其中,<app-name>
是你的应用服务名称。 如果你已有CATALINA_OPTS
的环境变量,请将-javaagent:/...
选项追加到当前值的末尾。
- 配置选项因你的组织使用的 Datadog 站点而异。 请参阅官方的适用于 Azure 的 Datadog 集成文档
- Dynatrace 提供了一个 Azure 原生 Dynatrace 服务。 若要使用 Dynatrace 监视 Azure 应用服务,请参阅官方的适用于 Azure 的 Dynatrace 文档
请访问面向 Java 开发人员的 Azure 中心查找 Azure 快速入门、教程和 Java 参考文档。