快速入门:通过日志、指标和跟踪来监视 Azure Spring Apps 应用
注意
基本、标准和企业计划将从 2025 年 3 月中旬开始弃用,停用期为 3 年。 建议转换到 Azure 容器应用。 有关详细信息,请参阅 Azure Spring Apps 停用公告。
标准消耗和专用计划将于 2024 年 9 月 30 日开始弃用,并在六个月后完全关闭。 建议转换到 Azure 容器应用。
使用 Azure Spring Apps 中的内置监视功能,可以调试和监视复杂问题。 Azure Spring Apps 将 Spring Cloud Sleuth 与 Azure 的 Application Insights 集成。 这种集成可以通过 Azure 门户提供强大的日志、指标和分布式跟踪功能。 以下过程说明如何通过已部署的 PetClinic 应用使用日志流式处理、Log Analytics、指标和分布式跟踪。
先决条件
完成此系列中前面的快速入门:
日志
可通过两种方式在 Azure Spring Apps 上查看日志:每个应用实例的实时日志的日志流式处理或具有高级查询功能的聚合日志的 Log Analytics。
日志流式处理
使用以下步骤在 Azure 门户中流式传输日志:
默认情况下,日志会从随机选择的应用实例开始流式传输。 之后可以选择自己的应用实例。
为了方便,有许多入口点可用于流式传输日志。 可以在以下窗格中找到它们:
- “应用列表”窗格
- “部署列表”窗格
- “应用实例列表”窗格
Log Analytics
转到“服务 | 概述”页,然后在“监视”部分中选择“日志” 。 选择 Azure Spring Apps 的一个示例查询上的“运行”。
然后,你会看到筛选出的日志。 有关详细信息,请参阅 Azure Monitor 日志查询入门。
指标
导航到“Application insights”页,然后导航到“指标”页。 可以看到由 Spring Boot 应用、Spring 模块和依赖项提供的指标。
下图显示 gateway_requests
(Spring Cloud 网关)、hikaricp_connections
(JDBC 连接)和 http_client_requests
。
Spring Boot 注册多个核心指标,包括 JVM、CPU、Tomcat 和 Logback。 Spring Boot 自动配置可用于检测由 Spring MVC 处理的请求。 所有三个 REST 控制器(OwnerResource
、PetResource
和 VisitResource
)都将由类级别的 @Timed
Micrometer 注释进行检测。
customers-service
应用程序启用了下列自定义指标:
- @Timed:
petclinic.owner
- @Timed:
petclinic.pet
visits-service
应用程序启用了下列自定义指标:
- @Timed:
petclinic.visit
可以在“指标”页中查看这些自定义指标:
可以使用 Application Insights 中的可用性测试功能并监视应用程序的可用性:
导航到“实时指标”页可查看低延迟(小于 1 秒)的实时指标:
跟踪
打开 Azure Spring Apps 创建的 Application Insights,并开始监视 Spring 应用程序。
导航到“应用程序映射”页:
导航到“性能”页:
导航到“依赖项”选项卡,从中可以查看依赖项的性能数,尤其是 SQL 调用:
选择 SQL 调用,查看上下文中的端到端事务:
导航到“失败”页的“异常”选项卡,从中可以看到异常的集合:
选择一个异常以查看上下文中的端到端事务和堆栈跟踪:
清理资源
如果打算继续使用后续的快速入门和教程,则可能需要保留这些资源。 如果不再需要资源组,可以将其删除,这将删除资源组中的资源。 若要使用 Azure CLI 删除资源组,请使用以下命令:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
在前面的快速入门中,你还设置了默认资源组名称。 如果不打算继续学习下一个快速入门,请通过运行以下 CLI 命令清除该默认名称:
az config set defaults.group=
后续步骤
若要了解 Azure Spring Apps 的更多监视功能,请参阅: