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

如何统计Azure内部负载均衡器转发至各后端VM的请求数?

统计Azure内部负载均衡器转发至各后端VM的请求数

当然有办法实现这个需求啦,我整理了几个实用的方案,你可以根据自己的场景来选择:

方案一:利用Azure Monitor内置指标(最便捷)

Azure内部负载均衡器本身提供了可以按后端实例拆分的请求统计指标,操作步骤很简单:

  • 登录Azure门户,找到你的内部负载均衡器资源
  • 切换到「监控」>「指标」页面
  • 在指标选择区,先选命名空间为「Microsoft.Network/loadBalancers」,再选指标为「Backend Request Count」
  • 点击「拆分依据」,选择「Backend IP Configuration」,这样图表就会自动拆分出每个后端VM对应的请求数量
  • 你还可以调整时间范围、添加筛选条件,甚至把这个指标图表钉到Azure仪表板上长期监控

这个方案的优点是零额外配置,直接用Azure原生能力,指标默认是5分钟粒度,足够大部分监控场景使用。

方案二:通过NSG流日志+Log Analytics实现精细化统计

如果需要更详细的请求维度(比如源IP、协议类型、请求时间分布),可以用NSG流日志配合Log Analytics来分析:

  1. 先给后端VM所在的子网或者VM对应的网络安全组(NSG)开启流日志,目标选择你的Log Analytics工作区
  2. 等待10-15分钟让日志开始流入后,进入Log Analytics工作区,编写Kusto查询来统计:
AzureNetworkAnalytics_CL
| where ResourceType_s == "LOADBALANCER" and OperationName_s == "LoadBalancerFlowLog"
| where DestinationIp_s in ("10.0.0.4", "10.0.0.5") // 替换成你的后端VM私有IP
| summarize 请求数=count() by 后端VM_IP=DestinationIp_s, 时间窗口=bin(TimeGenerated, 1h)
| sort by 时间窗口 desc

这个查询会按小时统计每个VM收到的请求数,你可以根据需求调整时间窗口(比如1分钟、1天)或者添加更多筛选条件(比如特定端口、协议)。

方案三:在后端VM本地统计(适合小批量VM)

如果你的VM数量不多,也可以直接在VM内部统计收到的请求数:

  • Linux VM:可以用netstat、ss或者tcpdump工具,比如统计80端口的已建立连接数:
ss -tunap | grep ESTAB | grep :80 | wc -l

如果是Web服务(比如Nginx、Apache),还可以直接查看服务的访问日志,用awk等工具统计请求数:

awk '{print $1}' /var/log/nginx/access.log | wc -l
  • Windows VM:打开性能监视器(PerfMon),添加「TCPv4\Connections Established」计数器,或者针对IIS添加「Web Service\Total Requests」计数器,来统计请求数

注意:这种方法需要排除VM之间的内部通信请求,确保统计的是LB转发过来的流量。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:32:22