练习 - 应用程序性能监视

已完成

在此练习中不进行任何配置,即可轻松监视示例应用程序的数据流。

使用 Azure Application Insights 监视应用程序

应用程序映射可帮助你在分散式应用程序的所有组件中发现性能瓶颈或故障危险区域。

  1. 打开 Azure 门户。

  2. 从 Azure 服务列表中选择“Azure Spring Apps”。

  3. 选择你的 Azure Spring Apps 实例。

  4. 选择“Application Insights”以转到 Application Insights 概述页面

    显示 Spring Apps 的 Application Insights 的屏幕截图。

  5. 在左侧导航到“应用程序映射”,你可在其中查看 Azure Spring Apps 微服务的视图

应用程序映射将显示正常运行的应用程序(绿色)和遭遇瓶颈的应用程序(红色)。

在前面的应用程序映射中,绿色框中的每个名称都是 Azure Spring Apps 的一个服务。

你可以轻松识别应用程序中的问题,并快速排查和修复这些问题。 映射上的每个节点都代表一个微服务或其依赖项,并且附带运行状况 KPI 和警报状态。 你可从任何组件选择以获得更详细的诊断,如 Application Insights 事件。

性能

  1. 在左侧导航到“性能”,你可在其中查看应用程序公开的操作响应时间和操作请求计数

    显示 Azure Spring Apps 实例的操作性能查看的屏幕截图。

  2. 接下来,在右侧导航到“依赖项”,你可在其中查看所有依赖项及其响应时间和请求计数

    你可以查看依赖项的性能数,尤其是 SQL 调用数:

    显示依赖项性能视图的屏幕截图。

  3. 在“选择操作”选项卡中选择一个 SQL 语句,以查看上下文中的事务:

    显示 SQL 事务的屏幕截图。

  4. 接下来,在右侧选项卡上选择“深入钻取”,然后在最右侧的选项卡上选择一个 SQL 示例以打开事务详细信息窗口:

    显示 SQL 示例事务的屏幕截图。

  5. 最后,在“端到端事务详细信息”视图中,选择 SQL 语句以查看示例 SQL 语句事务:

    显示 SQL 事务详细信息的屏幕截图。

失败/异常

  1. 在“调查”部分的 Application Insights 资源菜单中选择“失败”。 在此视图中,你将看到前三个失败响应代码、前三个异常类型以及前三个失败依赖项类型。

    显示 Azure Spring Apps 实例的“失败”视图的屏幕截图。

  2. 在右侧选择“前 3 种异常类型”中的异常,获取有意义的见解和可操作堆栈跟踪:

    显示异常屏幕的屏幕截图。

  3. 接下来,在右侧选项卡上选择“建议”异常示例以打开事务详细信息窗口:

    显示异常详细信息屏幕的屏幕截图

  4. 接下来,在“端到端事务详细信息”窗口中查看异常属性:

    显示异常详细信息屏幕的屏幕截图。

  5. 最后,在屏幕中间的“端到端事务”选项卡中,选择一个异常以查看其详细信息和堆栈跟踪:

    显示异常堆栈跟踪屏幕的屏幕截图。

指标

Spring Boot 注册了许多核心指标:JVM、CPU、Tomcat、Logback 等。 你可以看到 Spring Boot 应用、Spring Apps 模块和依赖项提供的指标。

若要创建标准指标图表,请打开“监视”部分下的“指标”选项卡,然后执行以下步骤:

  1. 确保在“范围”>“Azure Spring Apps”>“命名空间指标”下选择了你的 Azure Spring Apps。 如果从资源的菜单中打开了指标资源管理器,则这两者应已填充完毕。

    显示指标的屏幕截图。

  2. 接下来,在“指标”下选择“应用 CPU 使用率”,在“聚合”下选择“平均值”

    显示添加应用 CPU 指标的屏幕截图。

  3. 接下来,选择右侧指标栏上的对号图标来保存第一个指标。

    显示指标选择的屏幕截图。

  4. 接下来,选择左上方工具栏上的“添加指标”操作添加另一个指标,然后在“指标”下添加“平均值”,在“聚合”下添加“system.cpu.usage”

    显示添加系统 CPU 指标的屏幕截图。

  5. 接下来,选择右侧指标栏上的对号图标来保存第二个指标。

    显示如何保存系统 CPU 指标的屏幕截图。

  6. 最后,检查指标图,显示应用和系统的 CPU 指标。 显示系统和应用 CPU 指标的屏幕截图

自定义指标

在 Azure 中部署资源和应用程序时,需要开始收集遥测数据,以洞察它们的性能和运行状况。 Azure 提供一些现成的指标。 这些指标称为标准指标或平台指标。 但是,它们在性质上有限制。 可能需要收集一些自定义性能指标或特定于业务的指标才能提供更深入的见解。

与标准指标图类似,若要创建自定义指标图,请打开“监视”部分下的“指标”选项卡,然后执行以下步骤:

  1. 确保在资源范围选取器中选择了你的 Azure Spring Apps。 如果从资源的菜单中打开了指标资源管理器,则它已填充完毕。

  2. 接下来,在“指标命名空间”下选择“azure.applicationinsights”命名空间。 命名空间只是一种为了轻松查找指标而组织指标的方式。

    显示自定义指标的命名空间选择的屏幕截图。

  3. 接下来,在“指标”下添加以下自定义指标和聚合:

    • 指标 petclinic_pet,聚合:count

      显示如何为自定义指标选择“指标”和“聚合”选项的屏幕截图。

    • 指标 petclinic_owner,聚合:count

    • 指标 petclinic_visit,聚合:count

      显示已完成的自定义指标视图的屏幕截图。

  4. 接下来,在右上方,将图形类型更改为“分区图”

    显示自定义指标视图的图形类型选择的屏幕截图。

    最终图将显示过去 24 小时内每个宠物、兽医和主人微服务的计数:

    显示最终自定义指标视图的屏幕截图。

实时指标

部署新版本的 Web 应用时,需要立即了解其对性能的影响。 响应时间是否已缩短或变长,或者是否显示失败? 在 Application Insights 中监视实时指标流时,如果部署正在进行,你会立即看到效果。 如果出现问题,你可以在影响过多用户之前退出部署。

借助实时指标流,你可以探测实时应用程序的检测信号。 你可以选择和筛选指标和性能计数器,以在不对服务造成任何干扰进行实时监视。 还可以检查来自示例失败请求和异常的堆栈跟踪。

  1. 在左侧的“调查”部分下,导航到“实时指标”,你可以实时查看实时指标(时差在一秒钟内)

    显示 Azure Spring Apps 的实时指标视图的屏幕截图。

  2. 向下滚动指标以查看每个微服务的指标:

    显示 Azure Spring Apps 的服务实时指标视图的屏幕截图。