使用 AppDynamics 立即发现每个 Spring Boot 应用程序问题!

工程 | Josh Long | 2021 年 10 月 25 日 | ...

今天,我们很高兴地宣布 Azure Spring Cloud 中集成了 AppDynamics,以实现全栈可观察性。

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

"我们部署的 Azure Spring Cloud 只是更广泛的多区域、多云架构的一部分。我们在 Digital Realty 使用 AppDynamics 已经好几年了,并且非常希望拥有这块单一玻璃窗来捕获性能指标并监控整个堆栈的可用性。但不仅如此,AppDynamics 还是一个强大的 APM 工具,它是采用事件驱动架构的一个组成部分。我们正在尝试自我修复和 AIOps,并且需要扩展我们在这一领域的 capabilities,我们现在可以做到了。" -- Devon Yost,企业架构师,Digital Realty Trust

"随着我们的客户寻求对其应用程序进行现代化改造并利用 Azure Spring Cloud 等云平台的易用性和可扩展性,全栈可观察性的需求变得比以往任何时候都更加重要。Presidio 的许多客户都利用 AppDynamics 的 instrumentation capabilities 在其业务所需的高性能、高性价比和高可用性方式下运行其 Spring Boot 应用程序。当他们计划迁移到 Azure 和 Azure Spring Cloud 平台时,他们将比以往任何时候都更需要对应用程序的见解和可见性的 consistency。Azure Spring Cloud 对 AppDynamics 的支持将这两个平台结合在一起,并为 Presidio 及其客户提供了清晰的前进方向。" -- Rich Gondek,高级技术总监,数字业务解决方案和服务,Presidio

“我对我们与微软的持续合作感到兴奋。AppDynamics 将为在 Azure Spring Cloud 中工作的开发人员提供实时可见性,并提供相关的见解,使他们能够隔离任何性能问题的根本原因并优化微服务与业务影响的上下文。” -- Gregg Ostrowski,AppDynamics 的执行首席技术官

“微软致力于让 Spring 开发人员更容易地在 Azure 上大规模运行他们的应用程序。对于我们的许多客户而言,AppDynamics 是全栈可观察性的重要组成部分,通过我们的合作,他们现在可以将此功能集成到 Azure Spring Cloud 中。支持开发人员选择的 APM 工具(如 AppDynamics)可以最大程度地减少变化,以便他们能够专注于交付新功能。” – Julia Liuson,开发部门企业副总裁,Microsoft

在数字化转型时代,能够观察和关联整个 IT 堆栈中的应用程序、基础设施、网络和安全性变得至关重要。技术人员要求全栈可观察性,以便能够在问题影响客户和业务之前预见问题。同时,开发人员继续创新和发展 IT 堆栈,通过采用 Azure Spring Cloud 等最新和最敏捷的云平台来快速轻松地部署和运行应用程序。当他们这样做时,至关重要的是,他们能够快速转向全栈可见性、见解和操作,将孤立的数据转变为可操作的见解,为 IT 团队提供共享上下文,以便他们能够提供卓越的数字体验,优化成本和性能,并最大化数字业务收入。

AppDynamics 和 Microsoft 继续合作,以确保 Azure 客户能够在 Azure 上使用云原生应用程序保持这种级别的业务可观察性。现在,客户可以使用 AppDynamics 观察其在 Azure Spring Cloud 上部署的服务和工作负载中最重要的事情——无需进行任何代码更改。

在 Azure Spring Cloud 部署中激活 AppDynamics 代理就像在通过 Azure CLI 部署服务时配置 JVM 选项和环境变量一样简单。

图 1 - 显示了在部署过程中激活 AppDynamics 的 Azure CLI 命令

还可以通过 Azure 门户、利用 Azure 资源管理器 (ARM) 模板、Bicep 模板或通过 Terraform 在 Azure Spring Cloud 中激活 AppDynamics 代理。

激活后,打开 AppDynamics 门户以开始监控。在下面显示的视图中,AppDynamics 显示了 Azure Spring Cloud 中的所有 Spring Boot 应用程序。

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

您还可以看到自动化的流程图,这些流程图显示了数据在应用程序中的流动,揭示了 Spring Boot 应用程序及其依赖项以及任何问题的准确位置,以便解决以减轻业务影响。在下面显示的视图中,自动化的流程图会自动为您提供——无需任何其他配置。

图 3 - 显示了 Spring Boot 应用程序及其依赖项的自动化应用程序流程图

AppDynamics 基于生产应用程序行为跟踪关键业务事务。它动态地建立性能基线并自动发现什么是正常的,因此客户和开发人员只有在超过阈值时才会收到警报。在下面显示的视图中,它显示了从 api-gateway 应用程序到 customers-services 应用程序,然后到 MySQL 数据库的数据流。

图 4 - 显示了从一个 Spring Boot 应用程序到另一个 Spring Boot 应用程序,然后到 MySQL 数据库的数据流

您还可以获得深入的诊断,例如完整的调用堆栈和细粒度的方法级代码详细信息以及数据库查询。您可以打开开发模式以进行偶尔的故障排除,其中 AppDynamics 收集的数据的某些默认限制将关闭,从而为您提供应用程序活动的更多可见性。在下面显示的视图中,我们正在放大所有数据库调用,在过去的几个小时里,大约有 500 万个调用,响应时间良好。

_图 5 – 放大 Spring Boot 应用程序的所有数据库调用_

您可以查找最慢的数据库调用。在下面显示的 customers-service 应用程序视图中,这些是最慢的数据库调用——特别是,在建立连接方面花费了大量时间。与往常一样,仍有一些改进的空间。

_图 6 - 显示 Spring Boot 应用程序中最慢的数据库调用_

AppDynamics 还提供了一个良好的 JVM 指标浏览器,您可以在其中查看跨时间的 JVM 指标。在下面显示的视图中,您可以查看 JVM 线程数与 JVM CPU 使用率的关系。当然,您可以通过指标浏览器获得更多见解。

_图 7 – 显示 AppDynamics 指标浏览器中跨时间的 JVM 指标_

通过使用 AppDynamics,您可以实现开发人员、运营人员和业务团队之间的无缝协作。统一的监控和实时洞察将这些团队聚集在一起,以维护应用程序性能、用户体验和业务性能。

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

Azure Spring Cloud 由 Microsoft 和 VMware 联合构建、运营和支持。它是一款针对 Spring Boot 应用程序的完全托管服务,它消除了基础设施和 Spring Cloud 中间件管理的复杂性,因此您可以专注于构建业务逻辑,并让 Azure 负责动态扩展、修补、安全、合规性和高可用性。只需几个步骤,您就可以配置 Azure Spring Cloud、创建应用程序、部署和扩展 Spring Boot 应用程序,并在几分钟内开始监控。我们将继续为 Azure Spring Cloud 提供更多开发人员友好型和企业就绪型功能。我们很乐意了解您如何使用 Azure Spring Cloud 构建有影响力的解决方案……

开始监控 您的 Spring Boot 应用程序与 AppDynamics!

资源

获取 Spring Newsletter

关注 Spring Newsletter

订阅

抢先一步

VMware 提供培训和认证,助您快速提升技能。

了解更多

获取支持

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

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看全部