Использование Log Analytics для проверки журналов Шлюз приложений
После работы Шлюз приложений можно включить журналы для проверки событий, происходящих для ресурса. Например, журналы брандмауэра Шлюз приложений дают представление о том, что Брандмауэр веб-приложений (WAF) оценивает, сопоставляет и блокирует. С помощью Log Analytics можно проверить данные в журналах брандмауэра, чтобы получить дополнительные аналитические сведения. Дополнительные сведения о запросах журналов см. в разделе Общие сведения о запросах журналов в Azure Monitor.
В этой статье мы рассмотрим журналы Брандмауэр веб-приложений (WAF). Вы можете настроить другие журналы Шлюз приложений аналогичным образом.
Необходимые компоненты
- Учетная запись Azure с активной подпиской. Если у вас еще нет учетной записи, вы можете создать учетную запись бесплатно.
- Номер SKU Шлюз приложений Azure WAK. Дополнительные сведения см. в Шлюз приложений Azure Брандмауэр веб-приложений Azure.
- Рабочая область Log Analytics. Дополнительные сведения о создании рабочей области Log Analytics см. в статье Создание рабочей области Log Analytics на портале Azure.
Отправка журналов
Сведения о экспорте журналов брандмауэра в Log Analytics см. в журналах диагностики Шлюз приложений. При наличии журналов брандмауэра в рабочей области Log Analytics можно просматривать данные, записывать запросы, создавать визуализации и добавлять их на панель мониторинга в портале.
Просмотр данных с помощью примеров
При использовании таблицы AzureDiagnostics можно просмотреть необработанные данные в журнале брандмауэра, выполнив следующий запрос:
AzureDiagnostics
| where ResourceProvider == "MICROSOFT.NETWORK" and Category == "ApplicationGatewayFirewallLog"
| limit 10
Это выглядит примерно так, как показано в следующем запросе:
При использовании таблицы, относящейся к ресурсу, можно просмотреть необработанные данные в журнале брандмауэра, выполнив следующий запрос. Чтобы узнать о таблицах, относящихся к ресурсам, перейдите по справочнику по данным мониторинга.
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. С помощью предыдущих четырех запросов, закрепленных на панели мониторинга в качестве примера, можно быстро увидеть данные:
Следующие шаги
Работоспособность серверной части, журналы диагностики и метрики для шлюза приложений