使用 AppDynamics 立即发现所有 Spring Boot 应用程序问题!

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

今天,我们很高兴地宣布将 AppDynamics 集成到 Azure Spring Cloud 中,以实现全面的端到端可观测性。

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

"我们部署 Azure Spring Cloud 只是更广泛的多区域、多云架构中的一个组成部分。我们在 Digital Realty 使用 AppDynamics 已有数年,并强烈希望拥有这个统一的仪表板来捕获性能指标并跨完整堆栈监控可用性。不仅如此,AppDynamics 是一个强大的 APM 工具,也是采用事件驱动架构的组成部分。我们正在试验自我修复和 AIOps,需要在该领域扩展我们的能力,现在我们已经可以做到了。" -- Devon Yost,企业架构师,Digital Realty Trust

"随着我们的客户寻求现代化应用程序并利用 Azure Spring Cloud 等云平台的易用性和可扩展性,对全栈可观测性的需求比以往任何时候都更加重要。Presidio 的许多客户都利用 AppDynamics 的仪表化功能,以高绩效、高成本效益和高可用性的方式运行他们的 Spring Boot 应用程序,以满足其业务需求。当他们计划迁移到 Azure 和 Azure Spring Cloud 平台时,他们将比以往任何时候都更需要一致的洞察和对其应用程序的可见性。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 堆栈中的应用程序与基础设施、网络和安全至关重要。技术人员需要全栈可观测性,以便在问题影响客户和业务之前就能预见它们。同时,开发人员通过采用 Azure Spring Cloud 等最新、最敏捷的云平台来快速轻松地大规模部署和运行应用程序,不断进行创新和演进 IT 堆栈。在这样做时,他们能够快速地实现全栈可见性、洞察和行动至关重要,从而将孤立的数据转化为可操作的洞察,为 IT 团队提供共享的上下文,以便他们能够提供卓越的数字体验,优化成本和性能,并最大化数字业务收入。

AppDynamics 和微软将继续合作,确保 Azure 客户能够使用 Azure 上的云原生应用程序保持这种业务可观测性水平。现在,客户可以使用 AppDynamics 观察他们在 Azure Spring Cloud 上部署的服务和工作负载中最重要的数据——无需进行任何代码更改。

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

图 1 - 显示了 Azure CLI 命令,该命令将 AppDynamics 作为部署的一部分进行激活

还可以通过 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 由微软和 VMware 联合构建、运营和支持。它是一个完全托管的 Spring Boot 应用程序服务,它抽象了基础设施和 Spring Cloud 中间件管理的复杂性,因此您可以专注于构建业务逻辑,让 Azure 负责动态扩展、补丁、安全、合规性和高可用性。通过几个步骤,您可以预配 Azure Spring Cloud,创建应用程序,部署和扩展 Spring Boot 应用程序,并在几分钟内开始监控。我们将继续为 Azure Spring Cloud 带来更多对开发人员友好且面向企业的特性。我们很乐意听取您如何使用 Azure Spring Cloud 构建有影响力的解决方案……

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

资源

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

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

查看所有