使用 Azure Spring Cloud 中的 Dynatrace 实现 Spring Boot 应用程序的端到端监控!

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

今天,我们很高兴地宣布将Dynatrace 软件智能平台集成到 Azure Spring Cloud 中

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

继续您的 Dynatrace 之旅。当今部署 Spring Boot 应用程序的大多数组织都有一个共同的目标:利用自动化和 APM,最大化在几乎任何规模下运行 Spring Boot 应用程序的优势。虽然 Azure Spring Cloud 在抽象化容器化工作负载管理方面的许多繁琐工作方面表现出色,但监控和维护这些应用程序的性能和健康状况,或者在出现问题时进行故障排除的挑战可能非常艰巨——尤其是在组织以大规模部署这些应用程序时。为了帮助您成功并继续您的 Dynatrace 之旅,我们集成并升级了您在 Azure Spring Cloud 实例中通过 Dynatrace OneAgent 进行检测、监控和提供可观察性的能力。这从快速轻松地设置检测开始。然后,您可以分析您的应用程序、JVM、事务等的性能和健康状况。

“对于 Liantis 来说,跨本地和云端 Spring Boot 微服务的真正混合监控至关重要,但我们也需要简单直接的实现——这符合 Azure Spring Cloud 抽象复杂性的真正理念。这样做使 Liantis 能够花更多时间开发创新应用程序,而不是构建和运营基础架构,这使我们能够为客户和员工提供真正的价值。基于我们在 Spring 和 Dynatrace 技术方面的内部专业知识,并结合我们以前的投资,Dynatrace 与 Azure Spring Cloud 的集成对于 Liantis 来说是显而易见的。” -- Nicolas Van Kerschaver,Liantis 首席信息官

“随着组织向云原生工作负载和微服务转型,可扩展性对于当今的数字业务至关重要。虽然云原生技术和微服务具有巨大的优势,但动态环境带来了复杂性,使得理解组织云生态系统中的关系和依赖关系变得困难。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 模板检测和监控您创建和部署的任何新应用程序。或者,您可以使用 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 – 显示了生产工作负载发起的顶级数据库查询

所有应用程序代码级别的异常都会 along with many details into the stack traces of where the exception occurred. In the example screenshot below, Dynatrace portal shows the top exceptions thrown by a production workload.(所有应用程序代码级别的异常都 along with many details into the stack traces of where the exception occurred. In the example screenshot below, Dynatrace portal shows the top exceptions thrown by a production workload.)。在下面的示例截图中,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 社区所有即将举行的活动。

查看所有