Использование Log Analytics для проверки журналов брандмауэра веб-приложения Шлюза приложений (WAF)

После того как Брандмауэр веб-приложений Шлюза приложений начнет работу, можно включить журналы, чтобы проверить, что происходит с каждым запросом. Журналы брандмауэра дают представление об оценке, сопоставлении и блокировке различных событий системой WAF. С помощью Log Analytics можно проверить данные в журналах брандмауэра, чтобы получить дополнительные аналитические сведения. Дополнительные сведения о запросах журналов см. в разделе Общие сведения о запросах журналов в Azure Monitor.

Необходимые компоненты

Импорт журналов WAF

Чтобы импортировать журналы брандмауэра в Log Analytics, см. сведения о работоспособности серверной части, журналах диагностики и метриках для Шлюз приложений. При наличии журналов брандмауэра в рабочей области Log Analytics можно просматривать данные, записывать запросы, создавать визуализации и добавлять их на панель мониторинга в портале.

Просмотр данных с помощью примеров

Для просмотра необработанных данных в журнале брандмауэра можно выполнить следующий запрос:

AzureDiagnostics 
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"

Это выглядит примерно так, как показано в следующем запросе:

Screenshot of Log Analytics query.

Здесь вы можете детализировать данные, строить графики и создавать визуализации. Для начала рекомендуем посмотреть следующие запросы:

Совпадающие или заблокированные запросы по 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. С помощью предыдущих четырех запросов, закрепленных на панели мониторинга в качестве примера, можно быстро увидеть данные:

Screenshot shows an Azure dashboard where you can add your query.

Следующие шаги

Работоспособность серверной части, журналы диагностики и метрики для шлюза приложений