你当前正在访问 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 控制消息协议)。 ICMP 适用于快速健康状况检查,如 ping 请求,但它可能无法准确反映真实世界的应用程序流量,因为这通常依赖于 TCP。但是,在 Azure 平台上,ICMP 探测的优先级不同,这可能导致不同 SKU 之间的差异。 为了减少这些差异,Azure 防火墙计划会过渡到基于 TCP 的探测。
- 延迟高峰:使用 ICMP 探测时,间歇性高峰是正常的,并且属于主机网络的标准行为。 除非这些问题持续存在,否则不应将其误解为防火墙问题。
- 平均延迟:平均而言,Azure 防火墙的延迟应从 1 毫秒到 10 毫秒不等,具体取决于防火墙 SKU 和部署大小。
监视延迟的最佳做法
设置基线:在流量较小的情况下建立延迟基线,以便在正常或高峰使用期间进行准确的比较。
监视模式:在正常运行过程中,偶尔会出现延迟高峰。 如果高延迟持续时间超出这些正常变化范围,则可能表示需要调查更深层次的问题。
建议的延迟阈值:建议的准则是延迟不应当超过基线的 3 倍。 如果超过此阈值,建议作进一步调查。
检查规则限制:确保网络规则在 20K 规则限制之内。 超出此限制会影响性能。
加入新应用程序:检查是否有新加入的应用程序,该应用程序增加了大量负载或导致延迟问题。
支持请求:如果观察到与预期行为不符的连续延迟降级,请考虑提交支持票证以获取进一步帮助。
指标维度
有关指标维度定义的信息,请参阅多维指标。
此服务具有以下与其指标关联的维度。
- 协议
- 原因
- Status
资源日志
本部分列出了可为此服务收集的资源日志类型。 本部分拉取自 Azure Monitor 支持的所有资源日志类别类型列表。
Microsoft.Network/azureFirewalls 支持的资源日志
Category | 类别显示名称 | 日志表 | 支持基本日志计划 | 支持引入时间转换 | 示例查询 | 导出成本 |
---|---|---|---|---|---|---|
AZFWApplicationRule |
Azure 防火墙应用程序规则 | AzureDiagnostics 来自多个 Azure 资源的日志。 |
否 | 否 | 查询 | 是 |
AZFWApplicationRuleAggregation |
Azure 防火墙网络规则聚合(策略分析) | AzureDiagnostics 来自多个 Azure 资源的日志。 |
否 | 否 | 查询 | 是 |
AZFWDnsQuery |
Azure 防火墙 DNS 查询 | AzureDiagnostics 来自多个 Azure 资源的日志。 |
否 | 否 | 查询 | 是 |
AZFWFatFlow |
Azure 防火墙 Fat 流日志 | AzureDiagnostics 来自多个 Azure 资源的日志。 |
否 | 否 | 查询 | 是 |
AZFWFlowTrace |
Azure 防火墙流跟踪日志 | AzureDiagnostics 来自多个 Azure 资源的日志。 |
否 | 否 | 查询 | 是 |
AZFWFqdnResolveFailure |
Azure 防火墙 FQDN 解析失败 | AzureDiagnostics 来自多个 Azure 资源的日志。 |
否 | 否 | 查询 | 是 |
AZFWIdpsSignature |
Azure 防火墙 IDPS 签名 | AzureDiagnostics 来自多个 Azure 资源的日志。 |
否 | 否 | 查询 | 是 |
AZFWNatRule |
Azure 防火墙 NAT 规则 | AzureDiagnostics 来自多个 Azure 资源的日志。 |
否 | 否 | 查询 | 是 |
AZFWNatRuleAggregation |
Azure 防火墙 NAT 规则聚合(策略分析) | AzureDiagnostics 来自多个 Azure 资源的日志。 |
否 | 否 | 查询 | 是 |
AZFWNetworkRule |
Azure 防火墙网络规则 | AzureDiagnostics 来自多个 Azure 资源的日志。 |
否 | 否 | 查询 | 是 |
AZFWNetworkRuleAggregation |
Azure 防火墙应用程序规则聚合(策略分析) | AzureDiagnostics 来自多个 Azure 资源的日志。 |
否 | 否 | 查询 | 是 |
AZFWThreatIntel |
Azure 防火墙威胁情报 | AzureDiagnostics 来自多个 Azure 资源的日志。 |
否 | 否 | 查询 | 是 |
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 资源。