使用 Application Insights 监视应用程序

已完成

当你的金融组织的应用程序出现问题时,客户无法访问其帐户。 如果应用程序问题未快速解决,则客户满意度会受到负面影响。 你的组织希望在迁移到 Azure 时避免这些问题。

本单元介绍了如何将 Azure Monitor Application Insights 与你的应用程序集成。 你可以使用 Application Insights 来检查应用程序的运行状况并更快地解决问题。

使用 Application Insights 执行以下操作:

  • 分析并解决影响应用程序运行状况和性能的问题。
  • 改进应用程序的开发周期。
  • 评估用户体验并分析用户的行为。

将 Azure Application Insights 与应用程序集成

若要将 Application Insights 与你的应用程序集成,你可以在 Azure 门户中启用 Application Insights,或使用 Application Insights 检测你的应用程序。 检测是指使用代理或 SDK 从应用启用监视数据的收集。 根据应用程序的语言和平台,检测方法会有所不同。

在许多情况下,你可以使用 Azure 门户中的无代码附加或使用代理来实施检测,而无需访问应用程序源代码。 例如,对于托管在 Azure 应用服务上的 .NET 和 .NET Core 应用程序,你可以使用 Azure 门户中的开关来启用通过 Application Insights 收集监视数据。

在 Azure 门户中加入 Application Insights 的屏幕截图。

Application Insights 会自动收集有关应用程序性能和运行状况的数据,并在 Azure 门户中显示此数据。 你可以在 Application Insights 左侧导航栏中选择“故障”,以获取为你的应用收集的所有故障的列表,并钻取到每个故障。

分析故障的屏幕截图。

若要继续调查错误或异常的根本原因,你可以深入研究有问题的事务,获取其详细的端到端事务视图,其中包括依赖项和异常的详细信息。

屏幕截图为使用端到端视图分析失败。

Application Insights 还自动检测应用依赖项,以支持分布式跟踪和创建应用程序拓扑视图。 你可以通过在 Application Insights 左侧导航栏中选择“应用程序映射”来查看此拓扑。

可以选择它来查看映射中每个组件的更多详细信息。 例如,你可以查看某个实例的最慢请求,并进一步调查性能。 这些详细分析有助于更好地了解应用程序并对其要求做出响应。

应用程序映射的屏幕截图。

监视应用程序的性能

可以进一步调查慢速事务,以识别慢速请求和服务器端依赖项。 通过从应用程序映射中选择“调查性能”或从 Application Insights 左侧导航栏中选择“性能”来向下钻取。

分析性能的屏幕截图。

在“性能”屏幕上,你可以选择所需的时间范围、操作名称和持续时间来隔离慢速事务。 系统还会提示你在事务中自动识别出的异常和共性。 在此,可使用依赖项的甘特图查看事务详细信息的端到端视图,从而深入研究单个事务。

如果你使用 Application Insights 来检测网页,还可查看页面视图和浏览器操作及依赖项。 收集此浏览器数据需要向页面中添加一个脚本。 添加该脚本后,可以通过选择“浏览器”切换开关来访问页面视图及其关联的性能指标。

分析用户行为

使用 Application Insights 检测网页时会收集使用情况信息以增强服务器端监视功能。 同一浏览器端 JavaScript 检测会提供使用情况数据,这包括用户、会话、事件的数量,浏览器版本,OS 版本,以及位置。 此使用情况数据显示哪些应用页面最受欢迎、用户在何处退出,以及特定页面的转化率和留存率。

按浏览器拆分的应用程序事件的屏幕截图。

前面的示例显示了最常用的浏览器和版本。 可以使用此类信息通知有关分配功能和性能测试资源的决策。

监视应用程序的可用性

你可以使用 Application Insights“可用性”页持续监视应用程序运行状况,并检查不同地理位置的应用程序运行状况。

一段时间内按位置查看应用程序可用性的屏幕截图。

创建可用性测试后,可以使用“可用性”页查看应用程序在不同位置的运行情况。 散点图上的每个点都表示所运行的一个测试。 红色的点表示测试失败。

选择一个红色的点可以查看测试失败的详细明细,其中包括可能导致失败的原因的信息。 你可以根据此信息做出恰当的响应。

创建可用性测试时,你可以指定详细信息,例如频率、应用程序的 URL,以及从什么位置测试应用程序。 下面的示例显示了一个测试的配置,它每隔 5 分钟从五个不同的地理位置向应用程序发送请求。

创建可用性测试的屏幕截图。

获取通知并采取措施

你可以配置 Application Insights 警报规则来监视应用程序的性能和可用性。 你可以指定应当触发警报的条件,并指示如何处理警报。 例如,如果指定数量的位置不可用或者发生了一定数量的异常,Application Insights 便会发送警报。

你还可以指定要向谁通知警报。 Application Insights 可以通过电子邮件或短信发送通知,或者使用 runbook 和 Webhook 以自动化方式响应警报。

知识检查

1.

Application Insights 可以监视应用程序性能的哪些方面?

2.

如何从不同地理位置持续监视应用程序?