本文包含此服務的所有監視參考資訊。
如需您可以針對 Azure 防火牆 收集資料的詳細數據,以及如何使用它,請參閱監視 Azure 防火牆。
Metrics
本節列出針對此服務的所有自動收集平台計量。 這些計量也是 Azure 監視器中支援的所有平台計量全域清單的一部分。
如需計量保留的相關資訊,請參閱 Azure 監視器計量概觀。
Microsoft.Network/azureFirewalls 支援的計量
下表列出適用於 Microsoft.Network/azureFirewalls 資源類型的計量。
- 所有資料行可能不存在於每個資料表中。
- 某些資料行可能超出頁面的檢視區域。 選取 [展開資料表] 以檢視所有可用的資料行。
表格標題
- 類別 - 計量群組或分類。
- 計量 - Azure 入口網站中顯示的計量顯示名稱。
- REST API 中的名稱 - REST API 中所指的計量名稱。
- 單位 - 量值單位。
- 匯總 - 預設 匯總 類型。 有效值:平均值 (Avg)、最小值 (Min)、最大值 (Max)、總計 (Sum)、計數。
- 指標 - 指標的可用維度。
-
時間精細度 - 取樣計量的間隔。 例如,
PT1M表示計量會每分鐘取樣、每 30 分鐘PT30M、每小時PT1H,以此類推。 - DS 匯出 - 計量是否可透過診斷設定,匯出至 Azure 監視器記錄。 如需匯出計量的資訊,請參閱在 Azure 監視器中建立診斷設定。
| Metric | REST API 中的名稱 | Unit | Aggregation | Dimensions | 時間顆粒 | DS 匯出 |
|---|---|---|---|---|---|---|
|
應用程式規則叫用計數 叫用應用程式規則的次數 |
ApplicationRuleHit |
Count | 總計 (總和) |
Status、 、 ReasonProtocol |
PT1M | Yes |
|
處理的資料 此防火牆所處理的數據總量 |
DataProcessed |
Bytes | 總計 (總和) | <無> | PT1M | Yes |
|
防火牆健全狀態 指出此防火牆的整體健康情況 |
FirewallHealth |
Percent | Average |
Status、Reason |
PT1M | Yes |
|
延遲探查 (預覽版) 估計由延遲探查測量的防火牆平均延遲 |
FirewallLatencyPng |
Milliseconds | Average | <無> | PT1M | Yes |
|
網路規則叫用計數 已叫用網路規則的次數 |
NetworkRuleHit |
Count | 總計 (總和) |
Status、Reason |
PT1M | Yes |
|
觀察到的容量單位 Azure 防火牆的報告容量單位數目 |
ObservedCapacity |
未指定 | 平均值、最低值、最大值 | <無> | PT1M | Yes |
|
SNAT 埠使用率 目前使用中的輸出 SNAT 埠百分比 |
SNATPortUtilization |
Percent | 平均值、最大值 | Protocol |
PT1M | Yes |
|
Throughput 此防火牆處理的輸送量 |
Throughput |
BitsPerSecond | Average | <無> | PT1M | No |
觀察到的容量
觀察到的容量指標是了解防火牆在實際中如何擴展的主要工具。
使用觀察容量的最佳實務
- 驗證您的預先調整設定: 確認您的防火牆始終如一地維護您定義的 minCapacity。
- 追蹤即時擴展行為: 使用 Avg 彙總來查看即時容量單位。
- 預測未來需求: 將歷史觀察到的容量與流量趨勢 (例如,每月尖峰或季節性事件) 結合,以完善您的容量規劃。
- 設定主動警報: 在觀察到的容量閾值上設定 Azure 監視器警示 (例如,調整超過 maxCapacity 的 80% 時發出警示)。
- 與績效指標相關聯: 將觀察到的容量與輸送量、延遲探查和 SNAT 連接埠使用率配對,以診斷調整是否跟上需求。
防火牆健全狀態
在上表中, 防火牆健全狀況狀態 計量有兩個維度:
- 狀態:可能的值為 狀況良好、 已降級、 狀況不良。
- 理由:指出防火牆對應狀態的原因。
如果 SNAT 埠的使用超過 95%,則會將其視為已耗盡,而且健康情況為 50%,status=Degraded 和 reason=SNAT 埠。 防火牆會持續處理流量,現有連線不受影響。 不過,可能不會間歇性地建立新的連線。
如果 SNAT 連接埠的使用率低於 95%,則代表防火牆狀況良好,健康情況會顯示為 100%。
如果未回報 SNAT 連接埠使用率,則健康情況會顯示為 0%。
SNAT 埠使用率
針對 SNAT 埠使用率計量,當您將更多公用 IP 位址新增至防火牆時,可以使用更多 SNAT 埠,以減少 SNAT 埠使用率。 此外,當防火牆因不同原因而相應放大時,也會有更多SNAT埠可供使用。
實際上,指定的 SNAT 埠使用率百分比可能會降低,而不需要您新增任何公用 IP 位址,只是因為服務相應放大。您可以直接控制可用來增加防火牆上可用埠的公用IP位址數目。 但您無法直接控制防火牆的縮放比例。
如果您的防火牆遇到 SNAT 連接埠耗盡,您應該新增至少五個公用 IP 位址。 這會增加可用的 SNAT 連接埠數目。 如需詳細資訊,請參閱 Azure 防火牆功能。
AZFW 延遲探查
AZFW 延遲探查計量會測量 Azure 防火牆的整體或平均延遲,以毫秒為單位。 系統管理員可以針對下列用途使用此計量:
- 診斷 Azure 防火牆是否會導致網路延遲
- 監控延遲或效能問題並發出警報,以便 IT 團隊可以主動參與
- 識別可能導致 Azure 防火牆高延遲的各種因素,例如 CPU 使用率高、輸送量高或網路問題
AZFW 延遲探測指標測量的內容
- 措施: Azure 平臺內 Azure 防火牆的延遲
- 不測量: 整個網路路徑的端對端延遲。 計量會反映防火牆內的效能,而不是 Azure 防火牆引進網路的延遲
- 錯誤報告: 如果延遲指標無法正常運作,則會在指標儀表板中報告值 0,表示探查失敗或中斷
影響延遲的因素
有幾個因素會影響防火牆延遲:
- 高 CPU 使用率
- 高輸送量或流量負載
- Azure 平臺內的網路問題
延遲探測:從 ICMP 到 TCP
延遲探測目前使用Microsoft的Ping Mesh技術,該技術基於ICMP(Internet控制消息協議)。 ICMP 適用於快速健康檢查,例如 ping 請求,但它可能無法準確代表通常依賴 TCP 的實際應用程式流量。 不過,ICMP 探查在 Azure 平臺上的優先順序不同,這可能會導致 SKU 之間的差異。 若要減少這些差異,Azure 防火牆 計劃轉換為 TCP 型探查。
關鍵考量:
- 延遲尖峰: 使用 ICMP 探測器時,間歇性尖峰是正常現象,也是主機網路標準行為的一部分。 不要將這些尖峰誤解為防火牆問題,除非它們持續存在。
- 平均延遲: 平均而言,Azure 防火牆延遲範圍為 1 毫秒到 10 毫秒,視防火牆 SKU 和部署大小而定。
監控延遲的最佳實務
設定基準:在輕量流量條件下建立延遲基準,以在正常或尖峰使用期間進行精確的比較。
Note
建立基準時,預期偶爾會因為最近的基礎結構變更而出現計量尖峰。 這些暫時性尖峰是正常的,而且是計量報告調整的結果,而不是實際的問題。 只有在尖峰持續一段時間時,才提交支援要求。
監視模式:預期偶爾會有延遲尖峰作為一般作業的一部分。 如果高延遲持續超過這些一般變化,則可能表示需要調查的更深層次問題。
建議的延遲閾值:建議的指導方針是延遲不應超過基準的 3 倍。 如果超過此臨界值,建議進一步調查。
檢查規則限制:確定網路規則在 20K 規則限制內。 超過此限制可能會影響效能。
新的應用程式上線:檢查是否有任何可能新增大量負載或造成延遲問題的新上線應用程式。
支援要求:如果您觀察到與預期行為不一致的連續延遲降低,請考慮提出支援票證以取得進一步協助。
載入計量維度
如需計量維度是什麼的資訊,請參閱多維度計量。
此服務具有下列與其計量相關聯的維度。
- Protocol
- Reason
- Status
資源記錄
本節列出您可以針對此服務收集的資源記錄類型。 該區段會從 Azure 監視器中支援的所有資源記錄類別類型清單提取。
Microsoft.Network/azureFirewalls 支持的資源記錄
| Category | 類別顯示名稱 | 日志表 | 支援基本記錄計劃 | 支援擷取時間轉換 | 範例查詢 | 匯出的成本 |
|---|---|---|---|---|---|---|
AZFWApplicationRule |
Azure 防火牆 應用程式規則 |
AZFWApplicationRule 包含所有應用程式規則記錄數據。 資料平面和應用程式規則之間的每個比對都會建立記錄項目,其中包含資料平面封包和對比規則的屬性。 |
Yes | Yes | Queries | Yes |
AZFWApplicationRuleAggregation |
Azure 防火牆 網路規則匯總 (原則分析) |
AZFWApplicationRuleAggregation 包含原則分析的匯總應用程式規則記錄數據。 |
Yes | Yes | Yes | |
AZFWDnsAdditional |
Azure 防火牆 DNS 流量追蹤記錄 |
AzureDiagnostics 來自多個 Azure 資源的記錄。 |
No | No | Queries | Yes |
AZFWDnsQuery |
Azure 防火牆 DNS 查詢 |
AZFWDnsQuery 包含所有 DNS Proxy 事件記錄數據。 |
Yes | Yes | Queries | Yes |
AZFWFatFlow |
Azure 防火牆 脂肪流量記錄檔 |
AZFWFatFlow 此查詢會傳回跨 Azure 防火牆實例的上層流程。 記錄檔包含流量資訊、日期傳輸速率(以每秒 MB 為單位),以及記錄流量的時間週期。 請遵循文件來啟用 Top flow 記錄,以及記錄方式的詳細數據。 |
Yes | Yes | Queries | Yes |
AZFWFlowTrace |
Azure 防火牆 流量追蹤記錄 |
AZFWFlowTrace 跨 Azure 防火牆實例的流量記錄。 記錄包含流程記錄時的流程資訊、旗標和時間週期。 請遵循文件來啟用流程追蹤記錄,以及記錄流程的詳細數據。 |
Yes | Yes | Queries | Yes |
AZFWFqdnResolveFailure |
Azure 防火牆 FQDN 解決失敗 | No | No | Yes | ||
AZFWIdpsSignature |
Azure 防火牆 IDPS 簽章 |
AZFWIdpsSignature 包含與一或多個 IDPS 簽章相符的所有數據平面封包。 |
Yes | Yes | Queries | Yes |
AZFWNatRule |
Azure 防火牆 Nat 規則 |
AZFWNatRule 包含所有 DNAT (目的地網路位址轉譯) 事件記錄數據。 資料平面和 DNAT 規則之間的每個比對都會建立記錄項目,其中包含資料平面封包和對比規則的屬性。 |
Yes | Yes | Queries | Yes |
AZFWNatRuleAggregation |
Azure 防火牆 Nat 規則匯總 (原則分析) |
AZFWNatRuleAggregation 包含原則分析的匯總 NAT 規則記錄數據。 |
Yes | Yes | Yes | |
AZFWNetworkRule |
Azure 防火牆 網路規則 |
AZFWNetworkRule 包含所有網路規則記錄數據。 資料平面和網路規則之間的每個比對都會建立記錄項目,其中包含資料平面封包和對比規則的屬性。 |
Yes | Yes | Queries | Yes |
AZFWNetworkRuleAggregation |
Azure 防火牆 應用程式規則匯總 (原則分析) |
AZFWNetworkRuleAggregation 包含原則分析的匯總網路規則記錄數據。 |
Yes | Yes | Yes | |
AZFWThreatIntel |
Azure 防火牆 威脅情報 |
AZFWThreatIntel 包含所有威脅情報事件。 |
Yes | Yes | Queries | Yes |
AzureFirewallApplicationRule |
Azure 防火牆應用程式規則 (舊版 Azure 診斷) |
AzureDiagnostics 來自多個 Azure 資源的記錄。 |
No | No | Queries | No |
AzureFirewallDnsProxy |
Azure 防火牆 DNS Proxy (舊版 Azure 診斷) |
AzureDiagnostics 來自多個 Azure 資源的記錄。 |
No | No | Queries | No |
AzureFirewallNetworkRule |
Azure 防火牆網路規則 (舊版 Azure 診斷) |
AzureDiagnostics 來自多個 Azure 資源的記錄。 |
No | No | Queries | No |
DNS 流量追蹤記錄
DNS 流量追蹤日誌可讓您更深入地了解 DNS 活動,協助管理員疑難排解解析問題並驗證流量行為。
以前,DNS Proxy 記錄僅限於:
- AZFWDNSQuery - 初始用戶端查詢
- AZFWInternalFqdnResolutionFailure - FQDN 解析失敗
使用 DNS 流程追蹤記錄,系統管理員可以追蹤完整的 DNS 解析流程,從用戶端查詢透過 Azure 防火牆作為 DNS Proxy,到外部 DNS 伺服器,然後傳回用戶端。
DNS 解析階段
記錄會擷取下列階段:
- 用戶端查詢:用戶端傳送的初始 DNS 查詢
- 轉寄站查詢:Azure 防火牆將查詢轉送至外部 DNS 伺服器 (如果未快取)
- 轉寄站回應:DNS 伺服器對 Azure 防火牆的回應
- 用戶端回應:從 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 Proxy 和 DNS 流程追蹤記錄
使用下列步驟來設定 DNS Proxy 並啟用 DNS 流程追蹤記錄:
啟用 DNS Proxy:
- 流覽至 Azure 防火牆 DNS 設定,並啟用 DNS Proxy。
- 設定自訂 DNS 伺服器或使用預設的 Azure DNS。
- 流覽至虛擬網路 DNS 設定,並將防火牆的私人 IP 設定為主要 DNS 伺服器。
啟用 DNS 流程追蹤記錄:
- 流覽至 Azure 入口網站中的 Azure 防火牆。
- 選取 [診斷設定] 在 [監視] 下。
- 選擇現有的診斷設定或建立新的診斷設定。
- 在 [記錄] 區段下,選取 [DNS 流量追蹤記錄]。
- 選擇你想要的目的地(Log Analytics 或 Storage Account)。
Note
DNS 流程追蹤日誌不支援 Event Hub 作為目的地。
- 儲存設定。
測試設定:
- 從用戶端產生 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 Proxy 記錄。
頂部流量
最上層流程記錄檔在產業中稱為「脂肪流量記錄」,而上表則稱為「脂肪流量記錄」Azure 防火牆。 排名靠前的流量記錄會顯示有助於透過防火牆達到最高輸送量的排名靠前的連線。
Tip
只有在針對特定問題進行疑難排解時,才啟用最大流量記錄,以避免 Azure 防火牆的 CPU 過度使用。
流量速率定義為每秒以 MB 為單位的數據傳輸速率。 這是一個量值,可透過防火牆在一段時間內透過網路傳輸的數字數據量。 最大流量通訊協定會每隔三分鐘定期執行一次。 要視為最大流量的最低閾值為 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 監視器中建立診斷設定。
流程追蹤
防火牆日誌顯示第一次嘗試 TCP 連線時通過防火牆的流量,稱為 SYN 封包。 不過,這類專案不會在 TCP 交握中顯示封包的完整旅程。 因此,如果封包被丟棄或發生非對稱路由,則很難進行疑難排解。 Azure 防火牆 流程追蹤記錄可解決此問題。
Tip
若要避免 Azure 防火牆中的許多短期連線的流量追蹤記錄導致過多磁碟使用量,請只在針對診斷目的對特定問題進行疑難排解時啟用記錄。
流程追蹤屬性
您可以新增下列屬性:
SYN-ACK:表示確認SYN封包的ACK標誌。
FIN:原始資料包流的已完成標誌。 TCP 流量中不會再傳輸任何資料。
FIN-ACK:表示確認 FIN 封包的 ACK 旗標。
RST:重設旗標表示原始寄件者不會收到更多資料。
無效 (流程):表示無法識別封包或沒有任何狀態。
例如:
- TCP 封包會抵達虛擬機器擴展集執行個體上,其沒有此封包任何先前的歷程記錄
- 錯誤的總和檢查碼封包
- 線上追蹤數據表專案已滿,且無法接受新的連線
- 過度延遲的 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>
$firewall = Get-AzFirewall -ResourceGroupName <ResourceGroupName> -Name <FirewallName>
$firewall.EnableTcpConnectionLogging = $false
Set-AzFirewall -AzureFirewall $firewall
若要建立診斷設定並啟用資源特定數據表,請參閱 在 Azure 監視器中建立診斷設定。
Azure 監視器記錄資料表
本節列出與此服務相關的 Azure 監視器記錄資料表,並且該資料表可供 Log Analytics 使用 Kusto 查詢進行查詢。 資料表包含資源記錄資料,而且可能包含更多資料,具體取決於所收集及路由傳送至此的內容。
Azure 防火牆 Microsoft.Network/azureFirewalls
- AZFWNetworkRule
- AZFWFatFlow
- AZFWFlowTrace
- AZFWApplicationRule
- AZFWThreatIntel
- AZFWNatRule
- AZFWIdpsSignature
- AZFWDnsQuery
- AZFWInternalFqdnResolutionFailure
- AZFWNetworkRuleAggregation
- AZFWApplicationRuleAggregation
- AZFWNatRuleAggregation
- AzureActivity
- AzureMetrics
- AzureDiagnostics
活動記錄
連結的資料表會列出此服務活動記錄檔中可記錄的操作。 這些操作是活動記錄中的所有可能資源提供者操作的子集。
如需活動記錄項目結構描述的詳細資訊,請參閱活動記錄結構描述。
相關內容
- 如需監視 Azure 防火牆 的描述,請參閱監視 Azure 防火牆。
- 如需詳細的 Azure Resource Graph 查詢,請參閱 追蹤規則集變更, 以追蹤防火牆規則修改。
- 如需監視 Azure 資源的詳細資訊,請參閱使用 Azure 監視器來監視 Azure 資源。