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

如何监控Azure子网IP分配并查询已用/空闲IP地址数量

查看Azure子网IP使用情况的方法

你在Virtual Networks->Subnets路径下看到的是子网总可分配IP基数(已扣除Azure系统预留的5个IP:子网网段前4个、最后1个),要查看实时已用/剩余IP数,可通过以下3种方式操作:

1. Azure门户直接查看

进入目标虚拟网络详情页,按以下路径操作:

  • 左侧菜单找到子网,点击你需要查询的目标子网名称,进入子网详情页
  • 概览区域直接显示已使用IP数、可用IP数两个实时统计值,数据包含所有已绑定到资源(虚拟机、负载均衡器、容器组、私有终结点等)的IP
  • 也可在虚拟网络左侧菜单选择IP地址管理,批量查看当前VNet下所有子网的IP使用率、已用/剩余IP数值

2. Azure CLI命令查询

执行以下命令直接输出统计结果,替换尖括号内的参数为你的实际资源名即可:

az network vnet subnet show \
  --resource-group <你的资源组名称> \
  --vnet-name <你的虚拟网络名称> \
  --name <目标子网名称> \
  --query "{已用IP数:ipConfigurationProfiles.length, 总可分配IP数:length(addressPrefix) - 5, 剩余可用IP数:length(addressPrefix) - ipConfigurationProfiles.length - 5}" \
  -o table

3. PowerShell命令查询

在Azure PowerShell环境中执行以下脚本:

# 替换为你的实际资源参数
$rgName = "<你的资源组名称>"
$vnetName = "<你的虚拟网络名称>"
$subnetName = "<目标子网名称>"

$vnet = Get-AzVirtualNetwork -Name $vnetName -ResourceGroupName $rgName
$subnet = Get-AzVirtualNetworkSubnetConfig -Name $subnetName -VirtualNetwork $vnet
$prefixLength = [int]$subnet.AddressPrefix.Split('/')[1]
$totalAssignable = [math]::Pow(2, 32 - $prefixLength) - 5
$usedIP = $subnet.IpConfigurationProfiles.Count
$availableIP = $totalAssignable - $usedIP

Write-Host "已用IP数:$usedIP 剩余可用IP数:$availableIP"

子网IP使用率监控配置

可以直接通过Azure Monitor配置监控和告警,无需额外第三方工具:

  • 进入目标虚拟网络详情页,左侧菜单选择监视分类下的指标
  • 指标命名空间选择虚拟网络,可选指标有两个:
    • 子网可用IP计数:对应子网实时剩余可用IP数
    • 子网IP使用率:对应已用IP占总可分配IP的百分比
  • 点击「新建告警规则」即可设置阈值触发条件:比如剩余可用IP小于5个、使用率超过90%时,触发邮件、短信、工作通知等告警动作

注意:监控指标的统计口径和子网详情页的数值一致,自动排除Azure系统预留IP,统计的是实际可分配给用户资源的IP使用情况


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 14:57:02