使用 Log Analytics 檢查應用程式閘道記錄
應用程式閘道能運作後,您可以啟用記錄來檢查資源發生的事件。 例如,應用程式閘道防火牆記錄會深入解析 Web 應用程式防火牆正在評估、比對和封鎖的項目。 您可以使用 Log Analytics 檢查防火牆記錄中的資料,更深入解析。 如需記錄查詢的詳細資訊,請參閱 Azure 監視器中的記錄查詢概觀。
在本文中,我們將探討 Web 應用程式防火牆 (WAF) 記錄。 您可以使用類似的方式,設定其他應用程式閘道記錄。
必要條件
- 需要具作用中訂用帳戶的 Azure 帳戶。 如果您還沒有帳戶,則可以免費建立帳戶。
- Azure 應用程式閘道 WAK SKU。 如需詳細資訊,請參閱 Azure 應用程式閘道上的 Azure Web 應用程式防火牆。
- Log Analytics 工作區。 如需如何建立 Log Analytics 工作區的詳細資訊,請參閱在 Azure 入口網站中建立 Log Analytics 工作區 (機器翻譯)。
正在傳送記錄
若要將防火牆記錄匯出至 Log Analytics,請參閱應用程式閘道的診斷記錄。 Log Analytics 工作區中有防火牆記錄時,您可以檢視資料、寫入查詢、建立視覺效果,並將其新增至入口網站儀表板。
透過範例探索資料
使用 AzureDiagnostics 資料表時,您可以執行下列查詢來檢視防火牆記錄檔中的未經處理資料:
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| limit 10
這看起來與下列查詢類似:
使用 Resource-specific 資料表時,您可以執行下列查詢來檢視防火牆記錄檔中的未經處理資料。 若要了解資源特定的資料表,請瀏覽監視資料參考。
AGWFirewallLogs
| limit 10
您可以向下鑽研資料,並從此處繪製圖表或建立視覺效果。 以下是一些您可以使用的 AzureDiagnostics 查詢範例。
依 IP 比對/封鎖的要求
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| summarize count() by clientIp_s, bin(TimeGenerated, 1m)
| render timechart
依 URI 比對/封鎖的要求
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| summarize count() by requestUri_s, bin(TimeGenerated, 1m)
| render timechart
最符合的規則
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| summarize count() by ruleId_s, bin(TimeGenerated, 1m)
| where count_ > 10
| render timechart
前五個最符合的規則群組
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| summarize Count=count() by details_file_s, action_s
| top 5 by Count desc
| render piechart
新增至您的儀表板
建立查詢之後,您可以將其新增至儀表板。 選取 Log Analytics 工作區右上角的 [釘選到儀表板]。 將前四個查詢釘選到範例儀表板時,以下是您可一覽的資料: