抢先一步
VMware 提供培训和认证,助您加速进步。
了解更多这是一篇客座博文,作者是我们的朋友,来自 Microsoft 的 Asir Vedamuthu Selvasingh
各位 Spring 粉丝大家好!我们很高兴地宣布,应用性能监控 (APM) 现已完全集成到 Azure Spring Cloud 中,并由 Application Insights 提供支持。
Azure Spring Cloud 由 Microsoft 和 VMware 共同构建、运营和支持。它是一个针对 Spring Boot 应用程序的完全托管服务,让您可以专注于构建运行业务所需的应用程序,而无需处理基础设施管理的麻烦。
Azure Spring Cloud 中的 APM 为您的 Spring 应用程序提供深入的性能监控,无需进行任何代码更改、重新编译、重新测试或重新部署。Azure Spring Cloud 上的 APM 非常无缝,您可以开箱即用地获取应用程序的洞察。您无需做任何事情——只需部署您的应用程序,监控数据就会开始流动。应用监控带来的好处包括:
虽然 Azure Spring Cloud 和 Application Insights Java 代理都已正式推出,但它们的集成提供的开箱即用监控目前处于预览阶段。
您可以在创建或更新 Azure Spring Cloud 时启用 Java 进程内监控代理
az spring-cloud create --name ${SPRING_CLOUD_SERVICE}
--sku standard --enable-java-agent
--resource-group ${RESOURCE_GROUP}
--location ${REGION}
然后,您可以打开 Azure Spring Cloud 创建的 Application Insights,开始监控应用程序及其依赖项——我们将使用 Spring Petclinic 的分布式版本来演示这一点。导航到 Application Map
(应用程序地图)边栏,您可以在其中看到微服务的惊人、全面的视图,显示正常运行(绿色)的应用程序和存在瓶颈(红色)的应用程序 [图 1]。开发人员可以轻松识别其应用程序中的问题,并快速排查和修复它们。
导航到 Performance
(性能)边栏,您可以在其中查看应用程序公开的操作的响应时间和请求计数 [图 2]。
导航到 Performance
(性能)边栏中的 Dependencies
(依赖项)选项卡,您可以在其中查看所有依赖项及其响应时间和请求计数 [图 3]。
您可以单击 SQL 调用或依赖项以查看完整的端到端事务上下文 [图 4]。
导航到 Failures
(故障)边栏中的 Exceptions
(异常)选项卡,查看应用程序抛出的异常集合 [图 5]。
只需选择一个异常,深入查看即可获得有意义的洞察和可操作的堆栈跟踪 [图 6]。
导航到 Metrics
(指标)边栏,查看 Spring Boot 应用程序、Spring Cloud 模块及其依赖项贡献的所有指标。下面的图表展示了 Spring Cloud Gateway 贡献的 gateway-requests
和 JDBC 贡献的 hikaricp_connections
[图 7]。类似地,您可以聚合 Spring Cloud Resilience4J 指标并将其可视化。
Spring Boot 应用程序注册了许多核心指标——JVM、CPU、Tomcat、Logback 等。您可以使用 Micrometer 贡献自己的自定义指标,例如在类级别使用 @Timed
Micrometer 注解。然后,您可以在 Application Insights 中可视化这些自定义指标。例如,请看下面如何通过自定义指标跟踪宠物主人、宠物及其就诊情况——您还可以看到晚上 9 点模式的变化,因为当自动扩缩功能启动时,应用程序正在驱动更高的利用率 [图 8]。
您可以使用 Application Insights 中的可用性测试功能来监控 Azure Spring Cloud 中应用程序的可用性。这是一种定期测试,用于在全球任何地方以固定间隔监控应用程序的可用性和响应能力。如果您的应用程序没有响应或响应过慢,它可以主动向您发出警报。下面的图表显示了来自北美各地的可用性测试——美国西部、美国中南部、美国中部和美国东部 [图 9]。
导航到 Live Metrics
(实时指标)边栏,您可以在其中几乎实时(仅需一秒)查看实时指标 [图 10]。
Application Insights Java 代理基于 OpenTelemetry 自动检测工作,Microsoft 在此方面与 APM 领域的其他杰出人才合作。
Azure Spring Cloud 抽象了基础设施管理和 Spring Cloud 中间件管理的复杂性,因此您可以专注于构建您的业务逻辑,并让 Azure 负责动态扩缩、补丁、安全、合规和高可用性。通过几个步骤,您可以预配 Azure Spring Cloud、创建应用程序、部署和扩缩 Spring Boot 应用程序,并在几分钟内开始监控。我们将继续为 Azure Spring Cloud 带来更多对开发人员友好且企业就绪的功能。
我们很高兴听到您如何使用 Azure Spring Cloud 构建有影响力的解决方案。立即开始吧——使用快速入门将 Spring 应用程序部署到 Azure Spring Cloud!