Azure App Service 监控

2025年3月17日 | 阅读 3 分钟

Microsoft 提供了不同的功能来监控我们的 App Service。

配额

托管在 App Service 中的应用程序受到其可以使用的资源的某些限制。 这些界限由与应用程序关联的 App Service 计划定义。 当我们创建 App Service 计划时,我们通常会选择一个定价层和大小。 基于大小和定价层,我们将分配一定数量的 CPU 和一定数量的内存。 免费或共享应用程序的配额如下。

  • CPU(短时间)
  • CPU(每日)
  • 内存
  • 带宽
  • 文件系统 - 适用于基本、标准和高级计划

唯一适用于托管在基本、标准和高级计划上的应用程序的配额是文件系统,它基于我们在订阅中创建的 App Service 计划的数量。

指标

指标提供有关应用程序或 App Service 计划行为的信息。 因此,指标在两个级别提供。

Azure App Service Monitoring
  • 一个是在 App Service 计划级别,其中将包括 CPU 和内存百分比、数据输入和输出、磁盘队列长度和 HTTP 队列长度。
  • 第二个级别的指标在应用程序级别提供,其中包括平均响应时间、平均内存工作集、CPU 时间、数据输入和输出等。 所有这些指标都是必不可少的。 当我们使用应用程序洞察时,还有更多可用的指标,应用程序洞察是一个高级监控工具,我们可以使用它来监控 Web 应用程序。

粒度和保留

  • 分钟粒度:这些指标保留 30 小时。
  • 小时粒度:这些指标保留 30 天。
  • 天粒度:这些指标保留 30 天。

但是,如果我们使用应用程序洞察,那么此保留时间将大大增加。

诊断

App Service Web 应用程序提供用于从 Web 服务器和 Web 应用程序记录信息的诊断功能。 它们在逻辑上分为 Web 服务器诊断和应用程序诊断。

Azure App Service Monitoring

Web 服务器诊断:在此,我们可以进行详细的错误日志记录,即任何 Http 400 错误,以及以上错误都将被记录。 我们还可以查看日志。 第二件事是失败的请求跟踪,它基本上包含用于处理我们请求的 IIS 组件的跟踪。 第三件事是 Web 服务器日志记录。 这些是关于我们收到的 Http 请求总数以及来自特定 IP 地址的总体指标。

应用程序诊断:它允许我们捕获 Web 应用程序生成的信息。 因此,如果我们在使用系统诊断跟踪,则所有信息将由应用程序诊断提供。

诊断信息可以存储在文件系统或 Azure 存储中。

流日志

在应用程序开发过程中,通常需要近乎实时地查看日志记录信息。 我们可以使用 Azure PowerShell 或 Azure 命令行界面将日志记录信息流式传输到我们的开发环境中。

Azure App Service Monitoring

这些是我们用来流式传输日志文件的基本命令。

  • 使用 Azure PowerShell 进行流式传输
    • Get-AzureWebSiteLog - 名称 webappname -Tail
    • Get-AzureWebSitelog - 名称 webappname -Tail -Message Error
  • 使用 Azure 命令行界面进行流式传输
    • az webapp log tail - name webappname -resource-group myResourceGroup
    • az webapp log tail -name webappname -resource-group myResourceGroup -filter Error