You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell中配置az monitor命令获取指定时段平均指标并检查阈值?

Azure Monitor Metrics 命令优化:获取5分钟平均CPU使用率并检查阈值

可以通过添加参数调整指标查询范围、聚合方式和时间粒度,再结合脚本判断阈值,具体操作如下:

1. 调整后的指标查询命令

使用以下命令获取最近5分钟内的平均CPU使用率:

az monitor metrics list --resource <resourceid> --metrics "CpuPercentage" --aggregation Average --interval PT5M --offset PT5M

参数说明:

  • --aggregation Average:指定返回CPU使用率的平均值,替代默认的聚合逻辑
  • --interval PT5M:将指标数据按5分钟的时间段进行聚合,确保只输出该时段的单一平均值
  • --offset PT5M:限定查询范围为最近5分钟(如果需要指定绝对时间范围,可替换为--start-time "YYYY-MM-DDTHH:MM:SSZ"和--end-time "YYYY-MM-DDTHH:MM:SSZ")

2. 检查阈值(结合脚本)

az monitor metrics list返回JSON格式数据,可通过jq工具提取平均值并判断是否超过75%-80%阈值。示例脚本如下:

# 获取5分钟平均CPU使用率
CPU_AVG=$(az monitor metrics list --resource <resourceid> --metrics "CpuPercentage" --aggregation Average --interval PT5M --offset PT5M | jq -r '.value[0].timeseries[0].data[0].average')

# 判断阈值
if (( $(echo "$CPU_AVG > 80" | bc -l) )); then
    echo "警告:CPU使用率为${CPU_AVG}%,已超过80%阈值"
elif (( $(echo "$CPU_AVG > 75" | bc -l) )); then
    echo "提醒:CPU使用率为${CPU_AVG}%,已超过75%阈值"
else
    echo "正常:CPU使用率为${CPU_AVG}%,在阈值范围内"
fi

脚本说明:

  • jq -r:提取JSON中的平均值并以纯文本格式输出
  • bc -l:处理浮点数值的比较,避免整数比较的精度问题

内容的提问来源于stack exchange,提问作者Tracey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 19:45:39