你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本文包含此服务的所有监视参考信息。
请参阅 Monitor Azure 防火墙,详细了解可收集Azure 防火墙的数据以及如何使用它。
Metrics
本部分列出了为此服务自动收集的所有平台指标。 这些指标也是
有关指标保留的信息,请参阅 Azure Monitor 指标概述。
Microsoft支持的指标。网络/azureFirewalls
下表列出了可用于Microsoft的指标。网络/azureFirewalls 资源类型。
- 并非所有列都显示在每个表中。
- 某些列可能超出了页面的查看区域。 选择“展开表”以查看所有可用列。
表标题
- 类别 - 指标组或分类。
- Metric - Azure门户中显示的指标显示名称。
- REST API 中的名称 - 在 REST API 中引用的指标名称。
- 单位 - 度量单位。
- 聚合 - 默认的聚合类型。 有效值:平均值(平均)、最小值(最小值)、最大值(最大值)、总计(总和)、计数。
- 可用维度 - 适用于该指标的维度。
-
时间粒度 - 对指标采样的间隔。 例如,
PT1M表示该指标每分钟采样一次,PT30M表示每 30 分钟一次,PT1H表示每小时一次,以此类推。 -
DS 导出- 指标是否可通过诊断设置导出到Azure Monitor日志。 有关导出指标的信息,请参阅 Azure Monitor 中的
创建诊断设置。
| Metric | REST API 中的名称 | 高级平台指标 | Unit | Aggregation | Dimensions | 时间粒度 | DS 导出 |
|---|---|---|---|---|---|---|---|
|
应用程序规则命中次数 应用程序规则的命中次数 |
ApplicationRuleHit |
No | Count | 总计(总和) |
Status、Reason、Protocol |
PT1M | Yes |
|
已处理的数据 此防火墙处理的数据总量 |
DataProcessed |
No | Bytes | 总计(总和) | <无> | PT1M | Yes |
|
防火墙运行状况 指示此防火墙的总体运行状况 |
FirewallHealth |
No | Percent | Average |
Status、Reason |
PT1M | Yes |
|
延迟探测 估算防火墙的平均延迟(通过延迟探测测量) |
FirewallLatencyPng |
No | Milliseconds | Average | <无> | PT1M | Yes |
|
网络规则命中次数 网络规则的命中次数 |
NetworkRuleHit |
No | Count | 总计(总和) |
Status、Reason |
PT1M | Yes |
|
观察到的容量单位 报告Azure 防火墙的容量单位数 |
ObservedCapacity |
No | 未指定 | 平均值、最小值、最大值 | <无> | PT1M | Yes |
|
SNAT 端口利用率 当前使用的出站 SNAT 端口的百分比 |
SNATPortUtilization |
No | Percent | 平均值、最大值 | Protocol |
PT1M | Yes |
|
吞吐量 此防火墙处理的吞吐量 |
Throughput |
No | BitsPerSecond | Average | <无> | PT1M | No |
观察到的容量
观察容量指标是了解防火墙在实践中如何缩放的主要工具。
使用观察容量的最佳做法
- 验证预缩放设置: 确认防火墙一致地维护定义的 minCapacity。
- 跟踪实时缩放行为: 使用 Avg 聚合查看实时容量单位。
- 预测未来需求: 将历史观察容量与流量趋势(例如每月高峰或季节性事件)相结合,以优化容量规划。
- 设置主动警报:在观察到的容量阈值上配置Azure Monitor警报(例如,缩放超过 80% maxCapacity 时发出警报)。
- 与性能指标相关联: 将观察到的容量与吞吐量、延迟探测和 SNAT 端口利用率配对,以诊断缩放是否符合需求。
防火墙运行状况
在上表中,防火墙运行状况状态指标有两个维度:
- 状态:可能的值为 “正常”、“ 降级”、“ 不正常”。
- 原因:指示防火墙出现相应状态的原因。
如果使用的 SNAT 端口超过 95 个%,则它们被视为已用尽,运行状况为 50%,状态为“已降级 ”且 reason=SNAT 端口。 防火墙继续处理流量,现有连接不受影响。 但是,系统可能不会间歇地建立新连接。
如果 SNAT 端口使用率小于 95%,则防火墙状态视为“正常”,运行状况显示为 100%。
如果系统未报告 SNAT 端口使用率,则运行状况显示为 0%。
SNAT 端口利用率
对于 SNAT 端口利用率指标,当你向防火墙添加更多公共 IP 地址时,会有更多的 SNAT 端口可用,从而降低 SNAT 端口利用率。 此外,当防火墙出于不同的原因(例如 CPU 或吞吐量)而横向扩展后,可用的 SNAT 端口也会变得更多。
实际上,如果不添加任何公共 IP 地址,而只是横向扩展了服务,给定的 SNAT 端口利用率百分比实际上可能会下降。可以直接控制可用的公共 IP 地址数来增加防火墙上的可用端口。 但无法直接控制防火墙缩放。
如果你的防火墙出现了SNAT端口耗尽的问题,你有两个选择来扩展出站连接:
- 添加多个公共IP地址 (至少五个)以增加可用的SNAT端口。 这个选项成本更低,配置也简单。 有关详细信息,请参阅 Azure 防火墙 功能。
- 使用Azure NAT 网关动态分配SNAT端口,以增强规模和弹性。 欲了解更多信息,请参见 Scale SNAT ports with Azure NAT 网关。
如果你对成本敏感,可以添加公共IP地址。 如果你需要更具可扩展性和稳定性的解决方案,可以使用NAT网关。 欲进行并排比较,请参见 Azure 防火墙 性能的最佳实践。
AZFW 延迟探测
AZFW 延迟探测指标以毫秒为单位度量Azure 防火墙的总体或平均延迟。 管理员可以将此指标用于以下目的:
- 诊断Azure 防火墙是否导致网络延迟
- 监视和警报延迟或性能问题,以便 IT 团队可以主动参与
- 确定可能导致Azure 防火墙中高延迟的各种因素,例如 CPU 使用率高、吞吐量高或网络问题
AZFW 延迟探测指标度量值
- Measures: Azure 平台中Azure 防火墙的延迟
- 不度量: 整个网络路径的端到端延迟。 该指标反映防火墙内的性能,而不是网络引入Azure 防火墙延迟
- 错误报告: 如果延迟指标无法正常运行,它会在指标仪表板中报告值 0,指示探测失败或中断
影响延迟的因素
多种因素可能会影响防火墙延迟:
- CPU 利用率较高
- 高吞吐量或流量负载
- Azure 平台中的网络问题
延迟探测:从 ICMP 到 TCP
延迟探测目前使用Microsoft的 Ping 网格技术,该技术基于 ICMP(Internet 控制消息协议)。 ICMP 适用于快速运行状况检查,例如 ping 请求,但它可能无法准确表示通常依赖于 TCP 的实际应用程序流量。 但是,ICMP 探测在Azure平台中以不同的优先级排列,这可能会导致 SKU 发生差异。 为了减少这些差异,Azure 防火墙计划过渡到基于 TCP 的探测。
重要注意事项:
- 延迟峰值: 使用 ICMP 探测时,间歇性峰值是正常的,也是主机网络标准行为的一部分。 请勿将这些峰值误解释为防火墙问题,除非它们仍然存在。
- 平均延迟:,Azure 防火墙延迟范围为 1 毫秒到 10 毫秒,具体取决于防火墙 SKU 和部署大小。
监视延迟的最佳做法
设置基线:在流量较小的情况下建立延迟基线,以便在正常或高峰使用期间进行准确的比较。
Note
建立基线时,由于最近的基础结构更改,预期偶尔会出现指标峰值。 这些临时峰值是正常的,是由指标报告调整的结果,而不是实际问题造成的。 仅当高峰持续存在时,才提交支持请求。
监视模式:在正常运行过程中,偶尔会出现延迟高峰。 如果高延迟持续时间超出这些正常变化范围,则可能表示需要调查更深层次的问题。
建议的延迟阈值:建议的准则是延迟不应当超过基线的 3 倍。 如果超过此阈值,建议作进一步调查。
检查规则限制:确保网络规则在 20K 规则限制之内。 超出此限制会影响性能。
加入新应用程序:检查是否有新加入的应用程序,该应用程序增加了大量负载或导致延迟问题。
支持请求:如果观察到持续延迟下降与预期行为不一致,请考虑提交支持票证以获取进一步帮助。
指标维度
有关指标维度定义的信息,请参阅多维指标。
此服务具有以下与其指标关联的维度。
- Protocol
- Reason
- Status
资源日志
本部分列出了可为此服务收集的资源日志类型。 该部分从 Azure Monitor支持的资源日志类别类型列表中拉取。
Microsoft支持的资源日志。网络/azureFirewalls
| Category | 导出成本 | 日志表 | 支持基本日志计划 | 支持在数据引入时进行转换 | 示例查询 |
|---|---|---|---|---|---|
| Azure 防火墙应用程序规则 | Yes |
AZFWApplicationRule 包含所有应用程序规则日志数据。 数据平面和应用程序规则之间的每个匹配项都会创建一个日志条目,其中包含数据平面数据包和所匹配规则的属性。 |
Yes | Yes | 查询 |
| Azure 防火墙应用程序规则聚合(策略分析) | Yes |
AZFW应用规则聚合 包含策略分析的聚合应用程序规则日志数据。 |
Yes | Yes | |
| Azure 防火墙 DNS 流跟踪日志 | Yes |
AZFWDnsFlowTrace 包含客户端、防火墙和 DNS 服务器之间的所有 DNS 代理数据。 |
Yes | No | |
| Azure 防火墙 DNS 查询 | Yes |
AZFWDnsQuery 包含所有 DNS 代理事件日志数据。 |
Yes | Yes | 查询 |
| Azure 防火墙脂肪流日志 | Yes |
AZFWFatFlow 此查询返回跨Azure 防火墙实例的顶级流。 日志包含流信息、日期传输速率(以 Mb/s 为单位)和记录流的时间段。 请按照文档作,启用 Top Flow 日志记录,并详细了解记录方式。 |
Yes | Yes | 查询 |
| Azure 防火墙流跟踪日志 | Yes |
AZFWFlowTrace 跨Azure 防火墙实例流日志。 日志包含流信息、标记和记录流的时间段。 请按照文档作,启用流跟踪日志记录及其记录方式的详细信息。 |
Yes | Yes | 查询 |
| Azure 防火墙 FQDN 解决失败 | Yes | No | No | ||
| Azure 防火墙 IDPS 签名 | Yes |
AZFWIdpsSignature 包含与一个或多个 IDPS 签名匹配的所有数据平面数据包。 |
Yes | Yes | 查询 |
| Azure 防火墙 Nat 规则 | Yes |
AZFWNatRule 包含所有 DNAT(目标网络地址转换)事件日志数据。 数据平面和 DNAT 规则之间的每个匹配项都会创建一个日志条目,其中包含数据平面数据包和所匹配规则的属性。 |
Yes | Yes | 查询 |
| Azure 防火墙 Nat 规则聚合(策略分析) | Yes |
AZFW NAT 规则汇总 包含策略分析的聚合 NAT 规则日志数据。 |
Yes | Yes | |
| Azure 防火墙网络规则 | Yes |
AZFWNetworkRule 包含所有网络规则日志数据。 数据平面和网络规则之间的每个匹配项都会创建一个日志条目,其中包含数据平面数据包和所匹配规则的属性。 |
Yes | Yes | 查询 |
| Azure 防火墙网络规则聚合(策略分析) | Yes |
AZFWNetworkRuleAggregation 包含策略分析的聚合网络规则日志数据。 |
Yes | Yes | |
| Azure 防火墙威胁情报 | Yes |
AZFWThreatIntel 包含所有威胁情报事件。 |
Yes | Yes | 查询 |
| Azure 防火墙应用程序规则(旧版Azure 诊断) | No |
AzureDiagnostics 来自多个Azure资源的日志。 |
No | No | 查询 |
| Azure 防火墙 DNS 代理(旧版Azure 诊断) | No |
AzureDiagnostics 来自多个Azure资源的日志。 |
No | No | 查询 |
| Azure 防火墙网络规则(旧版Azure 诊断) | No |
AzureDiagnostics 来自多个Azure资源的日志。 |
No | No | 查询 |
DNS 流跟踪日志
DNS 流跟踪日志可更深入地了解 DNS 活动,帮助管理员排查解决问题并验证流量行为。
以前,DNS 代理日志记录仅限于:
- AZFWDNSQuery - 初始客户端查询
- AZFWInternalFqdnResolutionFailure - FQDN 解析失败
使用 DNS 流跟踪日志,管理员可以将完整的 DNS 解析流从客户端查询跟踪为 DNS 代理Azure 防火墙到外部 DNS 服务器,然后返回到客户端。
DNS 解析阶段
日志捕获以下阶段:
- 客户端查询:客户端发送的初始 DNS 查询
- Forwarder 查询:Azure 防火墙将查询转发到外部 DNS 服务器(如果未缓存)
- Forwarder 响应:DNS 服务器的Azure 防火墙响应
- Client 响应:从Azure 防火墙返回到客户端的最终解析响应
下图显示了 DNS 查询流的高级视觉表示形式:
这些日志提供有价值的见解,例如:
- 查询的 DNS 服务器
- 解析的 IP 地址
- 是否使用了Azure 防火墙缓存
启用 DNS 流跟踪日志
在设置 DNS 流跟踪日志之前,必须先使用Azure PowerShell启用该功能。
启用日志(先决条件)
在Azure PowerShell中运行以下命令,将占位符替换为值:
Set-AzContext -SubscriptionName <SubscriptionName>
$firewall = Get-AzFirewall -ResourceGroupName <ResourceGroupName> -Name <FirewallName>
$firewall.EnableDnstapLogging = $true
Set-AzFirewall -AzureFirewall $firewall
禁用日志(可选)
若要禁用日志,请使用上一个 Azure PowerShell 命令并将值设置为 False:
Set-AzContext -SubscriptionName <SubscriptionName>
$firewall = Get-AzFirewall -ResourceGroupName <ResourceGroupName> -Name <FirewallName>
$firewall.EnableDnstapLogging = $false
Set-AzFirewall -AzureFirewall $firewall
配置 DNS 代理和 DNS 流跟踪日志
使用以下步骤配置 DNS 代理并启用 DNS 流跟踪日志:
启用 DNS 代理:
- 导航到Azure 防火墙 DNS 设置并启用 DNS 代理。
- 配置自定义 DNS 服务器或使用默认Azure DNS。
- 导航到虚拟网络 DNS 设置,并将防火墙的专用 IP 设置为主 DNS 服务器。
启用 DNS 流跟踪日志:
- 在Azure门户中导航到Azure 防火墙。
- 在“监视”下选择“诊断设置”。
- 选择现有的诊断设置或创建新的诊断设置。
- 在“ 日志 ”部分下,选择 “DNS 流跟踪日志”。
- 选择所需的目标(Log Analytics或存储帐户)。
Note
作为目的地的事件中心不支持DNS流跟踪日志。
- 保存设置。
测试配置:
- 从客户端生成 DNS 查询,并验证所选目标中的日志。
了解日志
每个日志条目对应于 DNS 解析过程中的特定阶段。 下表描述了日志类型和密钥字段:
| 类型 | Description | 密钥字段 |
|---|---|---|
Client Query |
客户端发送的初始 DNS 查询。 |
SourceIp:发出 DNS 请求的客户端内部 IP 地址: QueryMessage完整的 DNS 查询有效负载,包括请求的域 |
Forwarder Query |
Azure 防火墙将 DNS 查询转发到外部 DNS 服务器(如果未缓存)。 |
ServerIp:接收查询的外部 DNS 服务器的 IP 地址: QueryMessage转发的 DNS 查询有效负载,相同或基于客户端请求 |
Forwarder Response |
DNS 服务器的响应Azure 防火墙。 |
ServerMessage:来自外部服务器的 DNS 响应有效负载。: AnswerSection包含解析的 IP 地址、CNAME 和任何 DNSSEC 验证结果(如果适用)。 |
Client Response |
最终解析的响应从Azure 防火墙返回到客户端。 |
ResolvedIp:为查询域解析的 IP 地址(或地址)。 ResponseTime:解析查询所用的总时间(从客户端的请求到返回的答案) |
上述字段只是每个日志条目中可用字段的子集。
重要说明:
- 如果使用 DNS 缓存,则仅生成 客户端查询 和 客户端响应 条目。
- 日志包括标准元数据,例如时间戳、源/目标 IP、协议和 DNS 消息内容。
- 若要避免在具有许多短期查询的环境中过多的日志量,请仅在需要更深入的 DNS 故障排除时启用其他 DNS 代理日志。
顶部流
顶部流日志在行业中称为 fat 流日志,在上表中称为 Azure 防火墙 Fat Flow Log。 顶部流日志显示通过防火墙导致最高吞吐量的顶级连接。
Tip
仅在排查特定问题时激活顶级流日志,以避免过度使用Azure 防火墙的 CPU。
流速率定义为数据传输速率(以 Mbps 为单位)。 它是衡量一段时间内通过防火墙在网络上传输的数字数据量的指标。 Top Flows 协议每三分钟定期运行一次。 被视为 Top Flow 的最低阈值为 1 Mbps。
启用顶级流日志
使用以下Azure PowerShell命令启用 Top 流日志:
Set-AzContext -SubscriptionName <SubscriptionName>
$firewall = Get-AzFirewall -ResourceGroupName <ResourceGroupName> -Name <FirewallName>
$firewall.EnableFatFlowLogging = $true
Set-AzFirewall -AzureFirewall $firewall
禁用顶级流日志
若要禁用日志,请使用同一Azure PowerShell命令并将值设置为 False。 例如:
Set-AzContext -SubscriptionName <SubscriptionName>
$firewall = Get-AzFirewall -ResourceGroupName <ResourceGroupName> -Name <FirewallName>
$firewall.EnableFatFlowLogging = $false
Set-AzFirewall -AzureFirewall $firewall
验证配置
可通过多种方式验证更新是否成功。 导航到防火墙 概述 并选择右上角的 JSON 视图 。 下面是一个示例:
若要创建诊断设置并启用特定于资源表,请参阅
流跟踪
防火墙日志在 TCP 连接(称为 SYN 数据包)的第一次尝试中显示通过防火墙的流量。 但是,此类条目不会在 TCP 握手中显示数据包的完整历程。 因此,如果数据包被删除或发生非对称路由,则很难进行故障排除。 Azure 防火墙流跟踪日志解决了这一问题。
Tip
为了避免流跟踪日志在具有许多生存期较短的连接Azure 防火墙中导致过多的磁盘使用率,请仅在诊断特定问题进行故障排除时激活日志。
Note
流跟踪日志捕获网络规则和 NAT 规则(第 3/4 层)评估的流量。 应用程序规则(第 7 层)评估的流量不包括在流跟踪日志中。 若要监视应用程序规则活动,请使用Azure 防火墙应用程序规则日志。
流跟踪属性
可添加以下属性:
SYN-ACK:指示确认 SYN 数据包的 ACK 标志。
FIN:原始数据包流的已完成标志。 不会在 TCP 流中传输更多数据。
FIN-ACK:指示确认 FIN 数据包的 ACK 标志。
RST:重置标志指示原始发送方未收到更多数据。
无效(流):指示无法标识数据包或没有任何状态。
例如:
- TCP 数据包降落在虚拟机规模集实例上,该实例没有此数据包的先前历史记录
- 错误的 CheckSum 数据包
- 连接跟踪表条目已满,无法接受新连接
- 过度延迟的 ACK 数据包
启用流跟踪日志
使用以下Azure PowerShell命令启用流跟踪日志。 或者,在门户中导航并搜索 “启用 TCP 连接日志记录”:
Connect-AzAccount
Select-AzSubscription -Subscription <subscription_id> or <subscription_name>
Register-AzProviderFeature -FeatureName AFWEnableTcpConnectionLogging -ProviderNamespace Microsoft.Network
Register-AzResourceProvider -ProviderNamespace Microsoft.Network
此更改可能需要几分钟才能生效。 注册该功能后,请考虑对Azure 防火墙执行更新,以便更改立即生效。
检查注册状态
若要检查 AzResourceProvider 注册的状态,请运行以下Azure PowerShell命令:
Get-AzProviderFeature -FeatureName "AFWEnableTcpConnectionLogging" -ProviderNamespace "Microsoft.Network"
禁用流跟踪日志
若要禁用日志,请使用以下Azure PowerShell命令:
Connect-AzAccount
Select-AzSubscription -Subscription <subscription_id> or <subscription_name>
Unregister-AzProviderFeature -FeatureName AFWEnableTcpConnectionLogging -ProviderNamespace Microsoft.Network
$firewall = Get-AzFirewall -ResourceGroupName <ResourceGroupName> -Name <FirewallName>
Set-AzFirewall -AzureFirewall $firewall
若要创建诊断设置并启用特定于资源表,请参阅
Azure Monitor日志表
本部分列出了与此服务相关的Azure Monitor日志表,这些表可通过使用 Kusto 查询Log Analytics进行查询。 这些表包含资源日志数据,此外还可能包含其他数据,具体取决于所收集并路由到这些表的内容。
Azure 防火墙 Microsoft。网络/azureFirewalls
- AZFWNetworkRule
- AZFWFatFlow
- AZFWFlowTrace
- AZFWApplicationRule
- AZFWThreatIntel
- AZFWNatRule
- AZFWIdpsSignature
- AZFWDnsQuery
- AZFW内部FQDN解析失败
- AZFWNetworkRuleAggregation
- AZFW应用规则聚合
- AZFW NAT 规则汇总
- AzureActivity
- AzureMetrics
- AzureDiagnostics
活动日志
链接表列出了可在此服务的活动日志中记录的操作。 这些操作是活动日志中所有可能的资源提供程序操作的子集。
有关活动日志条目架构的详细信息,请参阅活动日志架构。
相关内容
- 有关监视Azure 防火墙的说明,请参阅 Monitor Azure 防火墙。
- 有关跟踪防火墙规则修改的详细Azure Resource Graph查询,请参阅 Track 规则集更改。
- 有关监视Azure资源的详细信息,请参阅 Monitor Azure Azure Monitor。