你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 防火墙监视数据参考
本文包含此服务的所有监视参考信息。
有关可以为 Azure 防火墙收集的数据及其使用方法的详细信息,请参阅监视 Azure 防火墙。
指标
本部分列出了为此服务自动收集的所有平台指标。 这些指标也是 Azure Monitor 中支持的所有平台指标的全局列表的一部分。
有关指标保留的信息,请参阅 Azure Monitor 指标概述。
Microsoft.Network/azureFirewalls 支持的指标
下表列出了可用于 Microsoft.Network/azureFirewalls 资源类型的指标。
- 并非所有列都显示在每个表中。
- 某些列可能超出了页面的查看区域。 选择“展开表”以查看所有可用列。
表标题
- 类别 - 指标组或分类。
- 指标 - 在 Azure 门户中显示的指标显示名称。
- REST API 中的名称 - 在 REST API 中引用的指标名称。
- 单位 - 度量单位。
- 聚合 - 默认的聚合类型。 有效值:平均值(平均)、最小值(最小值)、最大值(最大值)、总计(总和)、计数。
- 维度 - 适用于指标的维度。
- 时间粒度 - 对指标采样的间隔。 例如,
PT1M
表示该指标每分钟采样一次,PT30M
表示每 30 分钟一次,PT1H
表示每小时一次,以此类推。 - DS 导出 - 是否可通过诊断设置将指标导出到 Azure Monitor 日志。 要了解如何导出指标的信息,请参阅在 Azure Monitor 中创建诊断设置。
指标 | REST API 中的名称 | Unit | 聚合 | 维度 | 时间粒度 | DS 导出 |
---|---|---|---|---|---|---|
应用程序规则命中计数 应用程序规则的命中次数 |
ApplicationRuleHit |
计数 | 总计(总和) | Status 、 Reason 、、 Protocol |
PT1M | 是 |
处理的数据 此防火墙处理的数据总量 |
DataProcessed |
字节 | 总计(总和) | <无> | PT1M | 是 |
防火墙运行状况 指示此防火墙的总体运行状况 |
FirewallHealth |
百分比 | 平均值 | Status , Reason |
PT1M | 是 |
延迟探测 估算防火墙的平均延迟(通过延迟探测测量) |
FirewallLatencyPng |
毫秒 | 平均值 | <无> | PT1M | 是 |
网络规则命中计数 网络规则的命中次数 |
NetworkRuleHit |
计数 | 总计(总和) | Status 、 Reason 、、 Protocol |
PT1M | 是 |
SNAT 端口利用率 当前使用的出站 SNAT 端口的百分比 |
SNATPortUtilization |
百分比 | 平均值、最大值 | Protocol |
PT1M | 是 |
吞吐量 此防火墙处理的吞吐量 |
Throughput |
BitsPerSecond | 平均值 | <无> | PT1M | 否 |
防火墙运行状况
在上表中,防火墙运行状况状态指标有两个维度:
- 状态:可能的值为“正常”、“已降级”和“不正常”。
- 原因:指示防火墙出现相应状态的原因。
如果已用 SNAT 端口数超过 95%,则视为该端口已用尽,并且运行状况为 50%,状态为已降级,原因为 SNAT 端口。 防火墙继续处理流量,现有连接不受影响。 但是,系统可能不会间歇地建立新连接。
如果 SNAT 端口使用率小于 95%,则防火墙状态视为“正常”,运行状况显示为 100%。
如果系统未报告 SNAT 端口使用率,则运行状况显示为 0%。
SNAT 端口利用率
对于 SNAT 端口利用率指标,当你向防火墙添加更多公共 IP 地址时,会有更多的 SNAT 端口可用,从而降低 SNAT 端口利用率。 此外,当防火墙出于不同的原因(例如 CPU 或吞吐量)而横向扩展后,可用的 SNAT 端口也会变得更多。
实际上,如果不添加任何公共 IP 地址,而只是横向扩展了服务,给定的 SNAT 端口利用率百分比实际上可能会下降。可以直接控制可用的公共 IP 地址数来增加防火墙上的可用端口。 但无法直接控制防火墙缩放。
如果防火墙遇到 SNAT 端口耗尽,应至少添加五个公共 IP 地址。 这会增加可用 SNAT 端口数。 有关详细信息,请参阅 Azure 防火墙功能。
AZFW 延迟探测
AZFW 延迟探测指标测量 Azure 防火墙的总体或平均延迟(以毫秒为单位)。 管理员可以将此指标用于以下目的:
- 诊断 Azure 防火墙是否是网络延迟的原因
- 监视是否存在任何延迟或性能问题并发出警报,以便 IT 团队可以主动参与。
- 导致 Azure 防火墙中出现高延迟的原因可能有多种。 例如,CPU 使用率高、吞吐量高或可能存在的网络问题。
AZFW 延迟探测指标度量值(和不度量):
- 其度量值:Azure 平台中Azure 防火墙的延迟
- 它不衡量:指标不会捕获整个网络路径的端到端延迟。 而是反映防火墙内的性能,而不是Azure 防火墙在网络中引入多少延迟。
- 错误报告:如果延迟指标运行不正确,它会在指标仪表板中报告值 0,指示探测失败或中断。
影响延迟的因素:
- CPU 利用率较高
- 高吞吐量或流量负载
- Azure 平台中的网络问题
延迟探测:从 ICMP 到 TCP ,延迟探测目前使用Microsoft的 Ping 网格技术,该技术基于 ICMP(Internet 控制消息 Protcol)。 ICMP 适用于快速运行状况检查,如 ping 请求,但它可能无法准确表示实际应用程序流量,这通常依赖于 TCP。但是,ICMP 探测在 Azure 平台中以不同的优先级排列优先级,这可能会导致 SKU 的不同。 为了减少这些差异,Azure 防火墙计划过渡到基于 TCP 的探测。
- 延迟峰值:使用 ICMP 探测时,间歇性峰值是正常的,并且属于主机网络的标准行为。 这些内容不应被误解为防火墙问题,除非它们是永久性的。
- 平均延迟:平均而言,Azure 防火墙的延迟预期范围为 1 毫秒到 10 毫秒,在防火墙 SKU 和部署大小上进行 dpend。
监视延迟的最佳做法
设置基线:在轻流量条件下建立延迟基线,以便在正常或高峰使用期间进行准确的比较。
监视模式:在正常操作过程中,偶尔会出现延迟高峰。 如果高延迟持续超过这些正常变化,则可能表示需要调查的更深层次问题。
建议的延迟阈值:建议的准则是延迟不应超过基线的 3 倍。 如果超过此阈值,建议进一步调查。
检查规则限制:确保网络规则在 20K 规则限制范围内。 超出此限制可能会影响性能。
新应用程序载入:检查可能添加大量负载或导致延迟问题的任何新载入应用程序。
支持请求:如果观察到与预期行为不一致的连续延迟降级,请考虑提交支持票证以获取进一步帮助。
指标维度
有关指标维度定义的信息,请参阅多维指标。
此服务具有以下与其指标关联的维度。
- 协议
- 原因
- Status
资源日志
本部分列出了可为此服务收集的资源日志类型。 本部分拉取自 Azure Monitor 支持的所有资源日志类别类型列表。
Microsoft.Network/azureFirewalls 支持的资源日志
Category | 类别显示名称 | 日志表 | 支持基本日志计划 | 支持引入时间转换 | 示例查询 | 导出成本 |
---|---|---|---|---|---|---|
AZFWApplicationRule |
Azure 防火墙应用程序规则 | AZFWApplicationRule 包含所有应用程序规则日志数据。 数据平面和应用程序规则之间的每个匹配项都会创建一个日志条目,其中包含数据平面数据包和所匹配规则的属性。 |
否 | 否 | 查询 | 是 |
AZFWApplicationRuleAggregation |
Azure 防火墙网络规则聚合(策略分析) | AZFWApplicationRuleAggregation 包含策略分析的聚合应用程序规则日志数据。 |
否 | No | 是 | |
AZFWDnsQuery |
Azure 防火墙 DNS 查询 | AZFWDnsQuery 包含所有 DNS 代理事件日志数据。 |
否 | 否 | 查询 | 是 |
AZFWFatFlow |
Azure 防火墙 Fat 流日志 | AZFWFatFlow 此查询返回跨 Azure 防火墙实例的排名靠前的流。 日志包含流信息、日期传输速率(以 Mb/s 为单位)和记录流的时间段。 请按照文档启用排名靠前的流日志记录,及其记录方式详细信息。 |
否 | 否 | 查询 | 是 |
AZFWFlowTrace |
Azure 防火墙流跟踪日志 | AZFWFlowTrace 跨 Azure 防火墙实例的流日志。 日志包含流信息、标志和记录流的时间段。 请按照文档启用流跟踪日志记录,及其记录方式详细信息。 |
是 | 否 | 查询 | 是 |
AZFWFqdnResolveFailure |
Azure 防火墙 FQDN 解析失败 | 否 | No | 是 | ||
AZFWIdpsSignature |
Azure 防火墙 IDPS 签名 | AZFWIdpsSignature 包含与一个或多个 IDPS 签名匹配的所有数据平面数据包。 |
否 | 否 | 查询 | 是 |
AZFWNatRule |
Azure 防火墙 NAT 规则 | AZFWNatRule 包含所有 DNAT(目标网络地址转换)事件日志数据。 数据平面和 DNAT 规则之间的每个匹配项都会创建一个日志条目,其中包含数据平面数据包和所匹配规则的属性。 |
否 | 否 | 查询 | 是 |
AZFWNatRuleAggregation |
Azure 防火墙 NAT 规则聚合(策略分析) | AZFWNatRuleAggregation 包含策略分析的聚合 NAT 规则日志数据。 |
否 | No | 是 | |
AZFWNetworkRule |
Azure 防火墙网络规则 | AZFWNetworkRule 包含所有网络规则日志数据。 数据平面和网络规则之间的每个匹配项都会创建一个日志条目,其中包含数据平面数据包和所匹配规则的属性。 |
否 | 否 | 查询 | 是 |
AZFWNetworkRuleAggregation |
Azure 防火墙应用程序规则聚合(策略分析) | AZFWNetworkRuleAggregation 包含策略分析的聚合网络规则日志数据。 |
否 | No | 是 | |
AZFWThreatIntel |
Azure 防火墙威胁情报 | AZFWThreatIntel 包含所有威胁情报事件。 |
否 | 否 | 查询 | 是 |
AzureFirewallApplicationRule |
Azure 防火墙应用程序规则(旧版 Azure 诊断) | AzureDiagnostics 来自多个 Azure 资源的日志。 |
否 | 否 | 查询 | 否 |
AzureFirewallDnsProxy |
Azure 防火墙 DNS 代理(旧版 Azure 诊断) | AzureDiagnostics 来自多个 Azure 资源的日志。 |
否 | 否 | 查询 | 否 |
AzureFirewallNetworkRule |
Azure 防火墙网络规则(旧版 Azure 诊断) | AzureDiagnostics 来自多个 Azure 资源的日志。 |
否 | 否 | 查询 | 否 |
Azure 防火墙有两个新的诊断日志,可帮助监视防火墙,但这些日志当前不显示应用程序规则详细信息。
- 排名靠前的流
- 流跟踪
排名靠前的流
排名靠前的流日志在行业内称为 Fat 流日志,在上表中称为 Azure 防火墙 Fat 流日志。 排名靠前的流日志显示通过防火墙贡献了最高的吞吐量的前几个连接。
提示
仅在对特定问题进行排查时激活热门流日志,以避免 Azure 防火墙的 CPU 使用率过高。
流速率定义为数据传输速率(以 Mbps 为单位)。 它是衡量一段时间内通过防火墙在网络上传输的数字数据量的指标。 Top Flows 协议每三分钟定期运行一次。 被视为 Top Flow 的最低阈值为 1 Mbps。
使用以下 Azure PowerShell 命令启用排名靠前的流日志:
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 视图”。 下面是一个示例:
若要创建诊断设置并启用特定于资源的表,请参阅在 Azure Monitor 中创建诊断设置。
流跟踪
防火墙日志显示首次尝试 TCP 连接(称为 SYN 数据包)时通过防火墙的流量。 但是,此类条目不会在 TCP 握手中显示数据包的完整历程。 因此,如果丢弃数据包或发生非对称路由,将难以进行故障排除。 Azure 防火墙流跟踪日志解决了此问题。
提示
为避免 Azure 防火墙中具有许多短期连接的流跟踪日志导致磁盘使用过多,请仅在出于诊断目的对特定问题进行排查时激活日志。
可添加以下属性:
SYN-ACK:ACK 标志,表示确认 SYN 数据包。
FIN:原始数据包流的已完成标志。 不会在 TCP 流中传输更多数据。
FIN-ACK:ACK 标志,表示确认 FIN 数据包。
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"
若要禁用日志,可使用以下命令取消注册日志,或者在上一个门户示例中选择“取消注册”。
Unregister-AzProviderFeature -FeatureName AFWEnableTcpConnectionLogging -ProviderNamespace Microsoft.Network
若要创建诊断设置并启用特定于资源的表,请参阅在 Azure Monitor 中创建诊断设置。
Azure Monitor 日志表
本部分列出了与此服务相关的 Azure Monitor 日志表,日志分析可使用 Kusto 查询来查询这些表。 这些表包含资源日志数据,此外还可能包含其他数据,具体取决于所收集并路由到这些表的内容。
Azure 防火墙 Microsoft.Network/azureFirewalls
- AZFWNetworkRule
- AZFWFatFlow
- AZFWFlowTrace
- AZFWApplicationRule
- AZFWThreatIntel
- AZFWNatRule
- AZFWIdpsSignature
- AZFWDnsQuery
- AZFWInternalFqdnResolutionFailure
- AZFWNetworkRuleAggregation
- AZFWApplicationRuleAggregation
- AZFWNatRuleAggregation
- AzureActivity
- AzureMetrics
- AzureDiagnostics
活动日志
链接表列出了可在此服务的活动日志中记录的操作。 这些操作是活动日志中所有可能的资源提供程序操作的子集。
有关活动日志条目架构的详细信息,请参阅活动日志架构。
相关内容
- 有关如何监视 Azure 防火墙的说明,请参阅监视 Azure 防火墙。
- 请参阅使用 Azure Monitor 监视 Azure 资源,详细了解如何监视 Azure 资源。