监视和调试Monitor and debug

本文内容

部署了应用并构建了 DevOps 管道后,必须了解如何对应用进行监视和故障排除。

在本部分中,你将完成以下任务:

  • 在 Azure 门户中查找基本监视和故障排除数据
  • 了解如何通过 Azure Monitor 更深入地了解所有 Azure 服务中的指标
  • 将 Web 应用与 Application Insights 连接以进行应用分析
  • 打开日志记录并了解在何处下载日志
  • 实时流式传输日志
  • 了解在何处设置警报
  • 了解远程调试 Azure 应用服务 Web 应用。

基本监视和故障排除Basic monitoring and troubleshooting

应用服务 Web 应用可轻松地实时进行监视。Azure 门户在易于理解的图表和图形中呈现指标。

  • 打开 Azure 门户,然后导航到 mywebapp 应用服务。

  • “概览” 选项卡显示有用的“一览式”信息,其中包括显示最近指标的图形。

显示概览面板的屏幕截图

  • Http 5xx :服务器端错误计数,通常是 ASP.NET Core 代码中的异常。
  • 数据输入:进入 Web 应用的数据流入量。
  • 数据输出:从 Web 应用到客户端的数据流出量。
  • 请求:HTTP 请求计数。
  • 平均响应时间:Web 应用响应 HTTP 请求的平均时间。
    此页面还提供一些用于故障排除和优化的自助服务工具。

显示自助服务工具的屏幕截图

  • “诊断并解决问题” 是一种自助服务故障排除程序。
  • Application Insights 用于分析性能和应用行为,会在此部分后面进行讨论。
  • “应用服务顾问” 为优化应用体验提供建议。

高级监视Advanced monitoring

Azure Monitor 是一种用于在 Azure 服务间监视所有指标和设置警报的集中服务。在 Azure Monitor 中,管理员可以精细地跟踪性能和确定趋势。每个 Azure 服务都向 Azure Monitor 提供自己的指标集

使用 Application Insights 进行分析Profile with Application Insights

Application Insights 是一种 Azure 服务,用于分析 Web 应用的性能和稳定性以及用户使用它们的方式。Application Insights 中的数据比 Azure Monitor 更广泛且更深入。数据可以为开发者和管理员提供重要信息来改善应用。Application Insights 可以添加到 Azure 应用服务资源,而无需更改代码。

  • 打开 Azure 门户,然后导航到 mywebapp 应用服务。

  • 在“概览” 选项卡上,单击“Application Insights” 磁贴。

Application Insights 磁贴

  • 选择“新建资源” 单选按钮。使用默认资源名称,并选择 Application Insights 资源的位置。该位置不需要与 Web 应用的位置匹配。

Application Insights 设置

  • 对于“运行时/框架” ,选择“ASP.NET Core” 。接受默认设置。

  • 选择“确定” 。如果系统提示进行确认,请选择“继续” 。

  • 创建资源之后,单击 Application Insights 资源的名称,直接导航到 Application Insights 页面。

新 Application Insights 资源已准备就绪

使用应用时,数据会累积。选择“刷新” 以使用新数据重载边栏选项卡。

Application Insights 概览选项卡

Application Insights 可提供有用的服务器端信息,无需额外配置。若要从 Application Insights 获得最大价值,请通过 Application Insights SDK 检测应用正确配置后,该服务会在 Web 服务器和浏览器中提供端到端监视,包括客户端性能。有关详细信息,请参阅 Application Insights 文档

LoggingLogging

默认情况下,Web 服务器和应用日志在 Azure 应用服务中处于禁用状态。可通过以下步骤启用日志:

  • 打开 Azure 门户,然后导航到 mywebapp 应用服务。

  • 在左侧菜单中,向下滚动到“监视”部分 。选择“诊断日志” 。

诊断日志链接

  • 打开“应用程序日志记录(文件系统)” 。如果出现提示,请单击框来安装扩展,以在 Web 应用中启用应用日志记录。

  • 将“Web 服务器日志记录” 设置为“文件系统” 。

  • 输入“保留期” (以天为单位)。例如 30。

  • 单击“保存” 。

    会为 Web 应用生成 ASP.NET Core 和 Web 服务器(应用服务)日志。可以使用显示的 FTP/FTPS 信息下载它们。密码与本指南前面部分中创建的部署凭据相同。日志可以通过 PowerShell 或 Azure CLI 直接流式传输到本地计算机也可以在 Application Insights 中查看日志。

日志流式处理Log streaming

应用和 Web 服务器日志可以通过门户实时流式传输。

  • 打开 Azure 门户,然后导航到 mywebapp 应用服务。

  • 在左侧菜单中,向下滚动到“监视”部分 并选择“日志流” 。

显示日志流链接的屏幕截图

也可以通过 Azure CLI 或 Azure PowerShell 流式传输日志(包括通过 Cloud Shell)。

警报Alerts

Azure Monitor 还会基于指标、管理事件和其他条件提供实时警报


注意:当前仅在警报(经典)服务中提供有关 Web 应用指标的警报。


警报(经典)服务可以在 Azure Monitor 或是应用服务设置的“监视” 部分下找到。

警报(经典)链接

实时调试Live debugging

当日志未提供足够信息时,可以通过 Visual Studio 远程调试 Azure 应用服务。但是,远程调试需要使用调试符号编译应用。除非万不得已,否则不应在生产中进行调试。

结束语Conclusion

在此部分中,已完成以下任务:

  • 在 Azure 门户中查找基本监视和故障排除数据
  • 了解如何通过 Azure Monitor 更深入地了解所有 Azure 服务中的指标
  • 将 Web 应用与 Application Insights 连接以进行应用分析
  • 打开日志记录并了解在何处下载日志
  • 实时流式传输日志
  • 了解在何处设置警报
  • 了解远程调试 Azure 应用服务 Web 应用。

其他阅读材料Additional reading