在 Azure Spring Cloud 中使用 Dynatrace 对 Spring Boot 应用程序进行端到端监控!

工程 | Josh Long | 2021 年 9 月 1 日 | ...

今天,我们很高兴宣布 **Dynatrace 软件智能平台与 Azure Spring Cloud 集成**。

在过去的 18 个月里,我们与许多企业客户合作,了解他们面临的场景。这些客户中的许多人在本地数据中心运行着数千个 Spring Boot 应用程序。当他们将这些应用程序迁移到云端时,需要使用他们开发者熟悉并已使用多年的解决方案对其进行应用性能监控 (APM) 植入。此外,他们还必须确保台式机和移动应用程序的连续性,这些应用程序已经预先使用 Dynatrace OneAgent 等代理进行端到端监控,Dynatrace OneAgent 可以自动发现和映射动态混合多云环境中的所有应用程序、微服务、基础设施以及任何依赖关系。通过将 Dynatrace OneAgent 集成到 Azure Spring Cloud 中,您可以继续您的旅程,并轻松地使用 Dynatrace 对您的 Spring Boot 应用程序进行植入。

继续您的 Dynatrace 之旅。如今部署 Spring Boot 应用程序的大多数组织都有一个相似的目标:使用自动化和 APM,最大限度地发挥在几乎任何规模上运行 Spring Boot 应用程序的优势。虽然 Azure Spring Cloud 在抽象掉容器化工作负载管理相关的许多繁琐工作方面表现出色,但监控和维护这些应用程序的性能与健康状况,或者在出现问题时进行故障排除,仍然可能令人望而生畏——尤其是在组织大规模部署这些应用程序时。为了帮助您成功并继续您的 Dynatrace 之旅,我们集成并提升了您使用 Dynatrace OneAgent 在 Azure Spring Cloud 实例中进行植入、监控和提供可观察性的能力。这始于快速简便地设置植入。然后,您可以分析应用程序、JVM、事务等的性能和健康状况。

“对于 Liantis 而言,对我们的本地和基于云的 Spring Boot 微服务进行真正的混合监控至关重要,但我们也需要简单明了的实现——这与 Azure Spring Cloud 抽象复杂性的真正理念相符。这样做使 Liantis 能够将更多时间花在开发创新应用程序上,而不是构建和运营基础设施,从而使我们能够为客户和员工提供真正的价值。基于我们内部在 Spring 和 Dynatrace 技术方面的专业知识以及我们之前的投资,Dynatrace 与 Azure Spring Cloud 的集成是 Liantis 的明确选择。” -- Nicolas Van Kerschaver,Liantis 首席信息官 (CIO)

“扩展能力对于当今的数字业务至关重要,因为组织已经转向云原生工作负载和微服务。虽然云原生技术和微服务具有巨大优势,但动态环境带来了复杂性,使得难以理解组织云生态系统中的关系和依赖项。Dynatrace 与 Microsoft 的战略合作伙伴关系使我们能够进一步扩展自动智能可观察性的影响,加速数字化转型。通过 Dynatrace 与 Azure Spring Cloud 的集成,我们能够为 Spring Boot 应用程序提供完整的应用程序数据可见性,这意味着可以有更多时间进行创新,并为最终用户提供更好的产品。” – Eric Horsman,Dynatrace 全球战略联盟总监

“在 Microsoft,我们致力于帮助客户实现应用程序现代化,并以前所未有的速度进行创新。通过将 Dynatrace 等软件智能解决方案与 Azure Spring Cloud 集成,我们可以帮助客户轻松实现 Spring Boot 应用程序的端到端可观察性,包括自动和连续的根本原因分析。” -- Julia Liuson,Microsoft 公司副总裁,开发者事业部

对您的 Spring Boot 应用程序进行植入。 运行一个“预配”自动化管道,以实现完全自动化的体验,对您创建和部署的任何新应用程序进行植入和监控——使用 Terraform 或 ARM Template。或者您可以使用 Azure CLI 按需运行它,以获得更大的灵活性和控制力。

az spring-cloud app update --name customers-service \
      --env DT_TENANT=<your-tenant> DT_TENANTTOKEN=<your-tenant-token> \
      DT_CONNECTION_POINT=<your-connection-point>

自动发现和映射应用程序及其依赖项。 为了在动态环境中保持实时感知,Dynatrace 会自动发现和映射应用程序组件(包括应用服务器、框架和微服务)、数据库、消息传递和事件处理系统以及它们之间的关系。在下面显示的视图中,Dynatrace Portal 显示了在生产工作负载中运行的所有 Spring Boot 应用程序。

截图 1 - 显示在生产工作负载中运行的所有 Spring Boot 应用程序

对 Spring Boot 应用程序的完整 HTTP/S 事务行为进行端到端可观察,以了解其对业务成果和用户体验的影响。 在下面的示例视图中,Dynatrace 为开发者提供了在代码中实现的所事务跟踪,而无需对应用程序进行任何代码更改。

截图 2 – 显示在代码中实现且未对应用程序进行任何代码更改的事务跟踪

端点监控、API 监控、数据库调用监控、最终用户体验监控。 Dynatrace 捕获您的 Spring Boot 应用程序发起的所有数据库查询,包括 Azure 数据库服务。在下面的示例视图中,Dynatrace Portal 显示了生产工作负载中的所有活动 REST API 操作。

截图 3 – 显示生产工作负载中的所有活动 REST API 操作

在下面的示例视图中,Dynatrace Portal 显示了生产工作负载发起的所有数据库查询。

截图 4 – 显示生产工作负载发起的所有数据库查询

对应用程序性能问题和业务成果进行**根本原因和影响分析**,以更快、更可靠地解决事件。Dynatrace 提供深度的代码级别可见性以及端到端跟踪,集成提供了 AI 辅助的问题检测和自动根本原因分析,使您能够掌握部署情况,并区分健康和不健康的应用程序。

截图 5 – 显示堆栈跟踪分析结果

**检测异常** 在您的 Spring Boot 应用程序实例中。Dynatrace 将收集到的数据通过 AI 引擎进行自动根本原因分析、代码级别热点分析、顶级数据库查询和异常分析。在下面的示例截图所示,Dynatrace 自动识别 CPU 密集型的代码模块,这样您就不必深入挖掘数据。

截图 6 - CPU 密集型的代码模块,您无需深入挖掘数据

您可以找到发起的所有顶级数据库查询,这些查询的开销,以及应用程序调用这些查询的次数。在下面的示例截图所示,Dynatrace 显示了生产工作负载发起的顶级数据库查询。

截图 7 – 显示生产工作负载发起的顶级数据库查询

所有应用程序代码级别异常都会被记录下来,同时包含异常发生位置的堆栈跟踪的许多详细信息。在下面的示例截图所示,Dynatrace portal 显示了生产工作负载抛出的顶级异常。

截图 8 – 显示生产工作负载抛出的顶级异常

Dynatrace 软件智能平台会自动为所有 Spring Boot 应用程序的性能指标建立基线。当应用程序的响应时间超过自动检测到的基线时,平台会创建一个警报,提供有关响应时间偏离基线程度的信息。在下面的示例截图所示,Dynatrace 显示了生产工作负载中少数服务的响应时间下降。

截图 9 – 显示生产工作负载中少数服务的响应时间下降

Dynatrace 会向您提供有关导致响应时间增加的原因的见解,特别是连接到数据库服务所需的时间。在下面的示例所示,Dynatrace portal 指出了连接到数据库所需的时间。

截图 10 – 显示连接到数据库所需的时间

Dynatrace 会自动检测所有故障。在下面的示例所示,Dynatrace 发出信号表明访问外部网络的失败率有所增加。

截图 11 – 发出信号表明访问外部网络的失败率有所增加

**专注于为最终用户交付价值。** 一旦完成植入,当您扩展到多个 Spring Boot 应用程序实例时,任何新的应用程序实例都会自动为您进行监控。Dynatrace 使应用程序开发者能够端到端地观察 Spring Boot 应用程序。您可以减少管理代理安装和维护的时间,将更多精力放在更快地识别和解决事件上。Azure Spring Cloud 服务负责定期更新 Dynatrace OneAgent。

立即构建您的解决方案并对其进行监控!

Azure Spring Cloud 由 Microsoft 和 VMware 共同构建、运营和支持。它是一个完全托管的 Spring Boot 应用程序服务,抽象掉了基础设施和 Spring Cloud 中间件管理的复杂性,因此您可以专注于构建业务逻辑,让 Azure 负责动态扩展、补丁、安全、合规性和高可用性。只需几个步骤,您就可以预配 Azure Spring Cloud,创建应用程序,部署和扩展 Spring Boot 应用程序,并在几分钟内开始监控。我们将继续为 Azure Spring Cloud 带来更多开发者友好和企业就绪的功能。

我们非常乐意听取您如何使用 Azure Spring Cloud 构建有影响力的解决方案。立即开始使用 Dynatrace 监控您的 Spring Boot 应用程序吧。

资源

  • 使用 MS Learn 模块或 GitHub 上的自定进度研讨会学习
  • 了解有关在 Azure Spring Cloud 上实现解决方案的更多信息
  • 查看 Dynatrace 发布的相关文档
  • 部署使用 Spring Cloud 构建的 Spring Petclinic 分布式版本
  • 通过利用企业最佳实践部署 Spring Boot 应用程序 – Azure Spring Cloud 参考架构
  • 将您的 Spring Boot、Spring Cloud 和 Tomcat 应用程序迁移到 Azure Spring Cloud
  • 将 Spring 应用程序连接到 Azure 服务进行交互
  • 如需反馈和问题,请通过电子邮件联系我们。

订阅 Spring 资讯

订阅 Spring 资讯,保持连接

订阅

抢先一步

VMware 提供培训和认证,加速您的进步。

了解更多

获取支持

Tanzu Spring 通过一项简单的订阅,为 OpenJDK™、Spring 和 Apache Tomcat® 提供支持和二进制文件。

了解更多

近期活动

查看 Spring 社区的所有近期活动。

查看全部