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

如何在Azure中监控App Service与数据库之间的网络流量

实现方案总览

以下是同区域同资源组下,采集Azure App Service与数据库之间双向流量的可落地步骤,全程不需要额外采购第三方工具:

1. 前置检查

  • 确认你的App Service属于V2及以上定价层(基础、标准、高级、弹性高级层均支持,免费/共享层无网络监控相关权限)
  • 确认你对当前资源组持有参与者及以上访问权限,否则无法创建监控相关的配套资源
  • 提前记录两个核心信息:App Service的全部出站IP(可在App Service控制台「属性」页获取)、数据库的内网IP/服务端口(比如Azure SQL默认端口1433、MySQL默认端口3306)

2. 给App Service接入VNet并绑定网络安全组

App Service默认是多租户共享网络架构,没有独立的网络流量采集入口,需要先接入VNet才能拿到流量数据:

  • 进入App Service控制台,左侧导航选择「网络」,找到「VNet集成」选项
  • 点击「添加VNet」,选择同区域的现有VNet(无可用VNet可直接新建,确保关联的子网大小不小于/27),完成集成
  • 给刚才绑定App Service的子网关联一个网络安全组(NSG),原有放行App Service访问数据库的规则不需要调整,保持生效即可

3. 开启NSG流日志功能

NSG流日志是采集子网内所有双向流量的核心功能:

  • 进入上一步绑定的NSG控制台,左侧导航找到「流日志」,点击「创建」
  • 按以下参数配置流日志:
    • 基础信息:NSG选择刚才关联的目标NSG,资源组、区域和现有业务资源保持一致
    • 存储配置:选择同区域的存储账户存储原始日志(无可用账户可新建,选标准性能层即可),日志保留天数按需设置,短期排查设7天、合规需求可设30天以上
    • 流量分析:开启该功能,时间粒度选10分钟,关联同区域的Log Analytics工作区(无可用工作区可直接新建)
  • 点击创建,等待5-10分钟配置即可生效

4. 筛选查询App Service与数据库的专属流量

配置生效后,直接在关联的Log Analytics工作区运行以下KQL查询语句,即可精准获取两者之间的双向流量数据:

AzureNetworkAnalytics_CL
| where SubType_s == "FlowLog"
// 匹配App Service到数据库的双向流量
| where (SrcIp_s in ("<App Service出站IP1>","<App Service出站IP2>") and DestIp_s == "<数据库内网IP>") 
    or (SrcIp_s == "<数据库内网IP>" and DestIp_s in ("<App Service出站IP1>","<App Service出站IP2>"))
// 匹配数据库服务端口
| where DestPort_d == <数据库服务端口>
// 输出核心字段
| project 流量开始时间=FlowStartTime_t, 流量结束时间=FlowEndTime_t, 源IP=SrcIp_s, 目标IP=DestIp_s, 目标端口=DestPort_d, 流量方向=FlowDirection_s, 流量状态=FlowStatus_s, 包数量=Packets_d, 流量大小=Bytes_d
| order by 流量开始时间 desc

提示:如果用的是Azure托管数据库服务,建议给数据库开启私有终结点(Private Endpoint),确保所有流量走内网传输,不会出现公网流量漏采的情况

5. 可选配置:可视化与告警

  • 可以将上述查询语句固定到Azure仪表板,实时监控两者之间的流量峰值、请求量变化
  • 也可以基于查询结果配置告警规则,出现流量突增、流量被拦截等异常场景时自动触发通知

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 17:33:04