azure - 如何使用 Powershell 获取 Azure 应用服务的 CPU 使用率?

标签 azure powershell azure-metrics-advisor

我需要获取 Azure 应用服务的一些指标。值是 CPU(以 % 为单位)和消耗的内存(以 % 为单位)。例如,我想报告 CPU 在一段时间内是否较高,以便指示应用服务正在消耗较高的内存或资源,然后发送电子邮件。

我目前正在使用

Get-AzMetricDefinition -ResourceId 
"/subscriptions/<subscriptionid>/resourceGroups/Default-Web- 
 EastUS/providers/microsoft.web/sites/website2" -DetailedOutput -MetricName 
"BytesSent,CpuTime"

但是从中我如何获得% CPU 和% 内存。或者有不同的 Powershell 命令吗?

最佳答案

使用 PowerShell 获取 Azure 应用服务的 CPU 使用情况:

有一个名为 Get-AZMetric 的 Azure PowerShell 命令,用于从特定资源(例如:应用服务)获取所有指标数据。但是,如果您复制 Web 的 resourceID,则 CPU % 不是 Get-AZMetric 支持的参数应用程序属性,因为它是云服务 ID。

我们可以为整个 AppServicePlan 实现它,因为 CPU % 在这里支持。

如果应用服务托管在高级、标准和基本套餐中,由于扩展功能,CPU% 将会出现,而 CPU_Time 在托管在免费或共享套餐中时会很有帮助。应用服务计划。

get-azmetric -resourceID "/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Web/sites/<AppService>" -MetricName "CpuTime"  -DetailedOutput

enter image description here

经过调查,我找到了一种在 AppServicePlan 的帮助下通过获取资源 ID 来实现它的方法,如下所示:

enter image description here

 az monitor metrics list --resource "/subscriptions/<subscriptionID>/resourceGroups/<resourceGroupName>/providers/Microsoft.Web/serverfarms/<AppservicePlan>" --metrics "CpuPercentage","MemoryPercentage"

CPU 百分比指标:

enter image description here

内存百分比指标:

enter image description here

注意:

  1. 通过门户查看支持的指标,只需点击 “诊断并解决问题”(如果需要)。

enter image description here

  • Issues with AppService environments
  • 关于azure - 如何使用 Powershell 获取 Azure 应用服务的 CPU 使用率?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74439303/

    相关文章:

    unit-testing - Windows Azure 测试最佳实践(单元)

    azure - 如何设置windows azure编程环境

    PowerShell:无法过滤通用列表的特殊情况

    azure - 如何获取Azure中虚拟机的性能?

    资源(Azure 逻辑应用)的 Azure 警报仅触发一次

    C#.net Core 6.0 Web 应用程序使用文件中的 RSA key 从 Azure 连接到 Snowflake

    java - 如何在maven应用程序中运行war文件?

    powershell - Powershell脚本重新索引WSUS DB和电子邮件结果

    powershell - 将文件内容输出到powershell主机窗口