Поделиться через


Справочник по данным мониторинга Шлюз приложений Azure

В этой статье содержатся все справочные сведения о мониторинге для этой службы.

Дополнительные сведения о данных, собираемых для Шлюз приложений, и их использовании см. в разделе "Мониторинг Шлюз приложений Azure".

Метрики

В этом разделе перечислены все автоматически собранные метрики платформы для этой службы. Эти метрики также являются частью глобального списка всех метрик платформы, поддерживаемых в Azure Monitor.

Сведения о хранении метрик см. в обзоре метрик Azure Monitor.

Поддерживаемые метрики для Microsoft.Network/applicationGateways

В следующей таблице перечислены все метрики, доступные для типа ресурсов Microsoft.Network/applicationGateways. Дополнительные сведения о описании для многих метрик включаются после этой таблицы.

  • Все столбцы могут не присутствовать в каждой таблице.
  • Некоторые столбцы могут находиться за пределами области просмотра страницы. Выберите "Развернуть таблицу ", чтобы просмотреть все доступные столбцы.

Заголовки таблиц

  • Категория — группа метрик или классификация.
  • Метрика — отображаемое имя метрик, как оно отображается в портал Azure.
  • Имя в REST API — имя метрики, указанное в REST API.
  • Единица измерения.
  • Агрегирование — тип агрегирования по умолчанию. Допустимые значения: среднее (среднее), минимальное (минимальное), максимальное (максимальное), общее (сумма), число.
  • Измерения - , доступные для метрики.
  • Интервалы интервалов - времени, по которым выборка метрики выполняется. Например, указывает, PT1M что метрика выборка выполняется каждую минуту, каждые 30 минут, PT30M PT1H каждый час и т. д.
  • Экспорт DS— можно ли экспортировать метрики в журналы Azure Monitor с помощью параметров диагностики. Сведения об экспорте метрик см. в статье "Создание параметров диагностики" в Azure Monitor.
Метрика Имя в REST API Единица измерения Агрегат Измерения Интервалы времени Экспорт DS
общее время Шлюз приложений

Время обработки запроса и его ответа. Это интервал от времени, когда Шлюз приложений получает первый байт HTTP-запроса до момента завершения операции отправки ответа. Эта метрика обычно включает время обработки шлюза приложений, время, в течение которого пакеты запросов и ответов перемещаются по сети, а также время ответа внутреннего сервера.
ApplicationGatewayTotalTime MilliSeconds Среднее, максимальное Listener PT1M No
Запросы в минуту на здоровый узел

Среднее число запросов в минуту на каждый работоспособный серверный узел в пуле
AvgRequestCountPerHealthyHost Count По средней BackendSettingsPool PT1M No
Соответствия защиты от ботов WAF

Сопоставленные правила ботов
AzwafBotProtection Count Total (Sum) Action, , CategoryCountryCodeModePolicyName,PolicyScope PT1M Да
Соответствия настраиваемого правила WAF

Сопоставленные настраиваемые правила
AzwafCustomRule Count Total (Sum) Action, , CustomRuleIDCountryCodeModePolicyName,PolicyScope PT1M Да
Количество запросов запросов на вызовы WAF JS

Общее количество запросов на вызовЫ JS, оцененных WAF
AzWAFJSChallengeRequestCount Count Total (Sum) Action, , PolicyNameRulePolicyScope PT1M Да
Соответствия управляемого правила WAF

Срабатывание управляемых правил
AzwafSecRule Count Total (Sum) Action, Mode, RuleGroupIDRuleIDCountryCodePolicyNamePolicyScopeRuleSetName PT1M Да
Всего запросов WAF

Общее количество запросов, оцененных WAF
AzwafTotalRequests Count Total (Sum) Action, , CountryCodeModeMethodPolicyName,PolicyScope PT1M Да
Время подключения серверной части

Время, затраченное на установление соединения с внутренним сервером
BackendConnectTime MilliSeconds Среднее, максимальное Listener, , BackendServerBackendPoolBackendHttpSetting PT1M No
Время отклика серверной части первого байта

Интервал времени между началом установки соединения с внутренним сервером и получением первого байта заголовка ответа, что приблизительно равно времени обработки внутреннего сервера
BackendFirstByteResponseTime MilliSeconds Среднее, максимальное Listener, , BackendServerBackendPoolBackendHttpSetting PT1M No
Время отклика серверной части последней байтовой части

Интервал времени с начала установки подключения к внутреннему серверу до момента получения последнего байта текста ответа
BackendLastByteResponseTime MilliSeconds Среднее, максимальное Listener, , BackendServerBackendPoolBackendHttpSetting PT1M No
Состояние ответа серверной части

Количество кодов HTTP-ответов, создаваемых внутренними элементами. Сюда не входят коды ответов, созданные Шлюзом приложений.
BackendResponseStatus Count Total (Sum) BackendServer, , BackendPoolBackendHttpSettingHttpStatusGroup PT1M Да
распределение правил заблокированных запросов Брандмауэр веб-приложений

Распространение правил заблокированных запросов к брандмауэру веб-приложения
BlockedCount Count Total (Sum) RuleGroup, RuleId PT1M Да
Получено байт

Общее число байтов, полученных шлюзом приложений от клиентов
BytesReceived Байт Total (Sum) Listener PT1M Да
Отправлено байт

Общее число байтов, отправленных шлюзом приложений клиентам
BytesSent Байт Total (Sum) Listener PT1M Да
Текущие единицы емкости

Потребленные единицы емкости
CapacityUnits Count По средней <none> PT1M No
RTT клиента

Время кругового пути между клиентами и Шлюз приложений. Эта метрика показывает, сколько времени требуется для установления подключений и возврата подтверждений
ClientRtt MilliSeconds Среднее, максимальное Listener PT1M No
Текущие единицы вычислений

Потребленные единицы вычислений
ComputeUnits Count По средней <none> PT1M No
Использование ЦП

Текущая загрузка ЦП шлюзом приложений
CpuUtilization Процент По средней <none> PT1M No
Текущие подключения

Число текущих установленных подключений к шлюзу приложений
CurrentConnections Count Total (Sum) <none> PT1M Да
Предполагаемое выставление счетов единиц емкости

Предполагаемые единицы емкости, за которые будет взиматься плата
EstimatedBilledCapacityUnits Count По средней <none> PT1M No
Невыполненные запросы

Число запросов со сбоем, обработанных шлюзом приложений
FailedRequests Count Total (Sum) BackendSettingsPool PT1M Да
Фиксированные оплачиваемые единицы емкости

Минимальные единицы емкости, за которые будет взиматься плата
FixedBillableCapacityUnits Count По средней <none> PT1M No
Healthy Host Count

Количество работоспособных узлов серверной части
HealthyHostCount Count По средней BackendSettingsPool PT1M Да
Брандмауэр веб-приложений общее распределение правил

Общее распределение правил брандмауэра веб-приложения для входящего трафика
MatchedCount Count Total (Sum) RuleGroup, RuleId PT1M Да
Новых подключений в секунду

Новые подключения в секунду, установленные со шлюзом приложений
NewConnectionsPerSecond Число/с По средней <none> PT1M No
Состояние ответа

Состояние ответа HTTP, возвращенное шлюзом приложений
ResponseStatus Count Total (Sum) HttpStatusGroup PT1M Да
Пропускная способность

Количество байтов в секунду, обрабатываемых шлюзом приложений
Throughput BytesPerSecond По средней <none> PT1M No
Протокол TLS клиента

Количество запросов TLS и не TLS, инициированных клиентом, который установил подключение к шлюзу приложений. Чтобы просмотреть распределение протокола TLS, выполните фильтрацию по измерению "Протокол TLS".
TlsProtocol Count Total (Sum) Listener, TlsProtocol PT1M Да
Всего запросов

Число успешных запросов, обработанных шлюзом приложений
TotalRequests Count Total (Sum) BackendSettingsPool PT1M Да
Число неработоспособных узлов

Количество неработоспособных узлов серверной части
UnhealthyHostCount Count По средней BackendSettingsPool PT1M Да

Доступные метрики Брандмауэр веб-приложений (WAF) см. в разделе Шлюз приложений метрики WAF версии 2 и Шлюз приложений метрики WAF версии 1.

Метрики времени для SKU Шлюз приложений версии 2

Шлюз приложений SKU версии 2 предоставляет множество встроенных метрик времени, связанных с запросом и ответом, которые измеряются в миллисекундах. Ниже приведены подробные описания метрик времени, уже перечисленных в предыдущей таблице метрик.

  • Время подключения серверной части. Это значение включает задержку сети и время, затраченное стеком TCP серверного сервера для установления новых подключений. Для TLS он также включает время, затраченное на подтверждение.
  • Время отклика серверной части первого байта. Это значение приблизит сумму времени подключения серверной части, время, затраченное запросом на доступ к серверной части из Шлюз приложений, время, затраченное сервером на реагирование, то есть время, когда сервер занимает создание содержимого и потенциально получение запросов к базе данных, а также время, затраченное первым байтом ответа на получение Шлюз приложений из серверной части.
  • Время отклика последнего байта серверной части. Это значение приблизит сумму времени отклика серверной части и времени передачи данных. Это число значительно зависит от размера запрошенных объектов и задержки сети сервера.
  • Общее время шлюза приложений. Этот интервал — это время от Шлюз приложений получает первый байт HTTP-запроса до момента отправки последнего байта ответа клиенту.
  • RTT клиента. Среднее время кругового пути между клиентами и Шлюз приложений.

Метрики для SKU версии 2 Шлюз приложений

Для SKU Шлюз приложений версии 2 доступны следующие метрики. Ниже приведены расширенные описания метрик, которые уже перечислены в предыдущей таблице метрик.

  • Полученные байты. Эта метрика учитывает только размер содержимого запроса, наблюдаемого Шлюз приложений. Он не включает передачу данных, таких как согласование заголовков TLS, заголовки пакетов TCP/IP или повторные передачи.
  • Отправленные байты. Эта метрика учитывает только размер содержимого ответа, обслуживаемого Шлюз приложений. Он не включает передачу данных, например заголовки пакетов TCP/IP или повторные передачи.
  • Протокол TLS клиента. Количество запросов TLS и не TLS.
  • Текущие единицы емкости. Существует три детерминанта для единицы емкости: единица вычислений, постоянные подключения и пропускная способность. Каждая единица емкости состоит из одной вычислительной единицы или 2500 постоянных подключений или пропускной способности 2,22 Мбит/с.
  • Текущие единицы вычислений. Факторы, влияющие на этот показатель: число TLS-подключений в секунду, вычисление перезаписи URL-адресов и обработка правил WAF.
  • Текущие подключения. Общее число активных одновременных подключений клиентов к Шлюзу приложений.
  • Предполагаемое выставление счетов единиц емкости. С номером SKU версии 2 потребление управляет моделью ценообразования. Плата за единицы емкости начисляется на основе потребления в дополнение к фиксированным затратам. *Предполагаемые единицы емкости с выставлением счетов указывают количество единиц емкости, с помощью которых оценивается выставление счетов. Эта сумма вычисляется как большее значение между единицами емкости (единицами емкости , необходимыми для балансировки трафика) и единицами емкости с фиксированным выставлением счетов (минимально подготовленными единицами емкости).
  • Неудачные запросы. Это значение включает коды 5xx, созданные из Шлюз приложений, и коды 5xx, созданные из серверной части. Число запросов можно дополнительно отфильтровать, чтобы отобразить количество для каждого или конкретного сочетания серверного пула и параметра HTTP.
  • Фиксированные единицы емкости, доступные для выставления счетов. Минимальное количество единиц емкости, подготовленных согласно параметру минимальных единиц масштабирования в конфигурации Шлюз приложений. Один экземпляр преобразуется в 10 единиц емкости.
  • Новые подключения в секунду. Среднее число новых TCP-подключений в секунду, установленных клиентами к Шлюзу приложений и Шлюзом приложений к серверным элементам.
  • Состояние ответа. Распределение кодов состояния ответа можно дополнительно сгруппировать, чтобы отобразить ответы по категориям 2xx, 3xx, 4xx и 5xx.
  • Пропускная способность. Эта метрика учитывает только размер контента, обслуживаемый Шлюз приложений. Он не включает передачу данных, таких как согласование заголовков TLS, заголовки пакетов TCP/IP или повторные передачи.
  • Всего запросов. Успешные запросы, которые Шлюз приложений обслуживались. Количество запросов можно отфильтровать, чтобы отобразить количество для каждого сочетания параметров внутреннего пула-http.

Внутренние метрики для номера SKU версии 2 Шлюз приложений

Для SKU Шлюз приложений версии 2 доступны следующие внутренние метрики. Ниже приведены расширенные описания внутренних метрик, уже перечисленных в предыдущей таблице метрик.

  • Состояние ответа серверной части. Количество кодов состояния HTTP-ответа, возвращаемых серверными службами, не включая коды ответов, созданные Шлюз приложений. Распределение кода состояния ответа можно классифицировать для отображения ответов в категориях 2xx, 3xx, 4xx и 5xx.|
  • Число работоспособных узлов. Количество узлов, которые определяются работоспособностью пробы работоспособности. Можно выполнить фильтрацию по серверному пулу для отображения числа работоспособных узлов в определенном серверном пуле.
  • Неработоспособное число узлов. Количество узлов, которые определяются неработоспособными пробой работоспособности. Можно выполнить фильтрацию по серверному пулу для отображения числа неработоспособных узлов в определенном серверном пуле.
  • Запросы в минуту на здоровый узел. Среднее число запросов, получаемых каждым работоспособным участником в серверном пуле за минуту. Укажите внутренний пул с помощью измерения BackendPool HttpSettings .

Метрики для SKU Шлюз приложений версии 1

Для SKU версии Шлюз приложений версии 1 доступны следующие метрики. Ниже приведены расширенные описания метрик, которые уже перечислены в предыдущей таблице метрик.

  • Использование ЦП. Показывает использование ресурсов ЦП, выделенных для Шлюза приложений. В обычных условиях использование ЦП не должно регулярно превышать 90%, так как эта ситуация может привести к задержке на веб-сайтах, размещенных за Шлюз приложений, и нарушить работу клиента. Вы можете косвенно контролировать или повышать загрузку ЦП, изменив конфигурацию Шлюза приложений. Для этого увеличьте число экземпляров и (или) перейдите на больший размер SKU.

  • Текущие подключения. Число текущих установленных подключений к Шлюзу приложений.

  • Неудачные запросы. Количество запросов, которые не удалось выполнить из-за проблем с подключением. Это число включает запросы, которые не удалось выполнить из-за превышения параметра HTTP "Время ожидания запроса", и запросы, которые не удалось выполнить из-за проблем с подключением между Шлюзом приложений и серверной частью. Это число не включает сбои из-за отсутствия работоспособной серверной части. Ответы 4xx и 5xx от серверной части также не считаются частью этой метрики.

  • Состояние ответа. Состояние ответа HTTP, возвращенное Шлюзом приложений. Распределение кодов состояния ответа можно дополнительно сгруппировать, чтобы отобразить ответы по категориям 2xx, 3xx, 4xx и 5xx.

  • Пропускная способность. Количество байтов в секунду, обслуживаемых Шлюз приложений.

  • Всего запросов. Число успешных запросов, обработанных Шлюзом приложений. Число запросов можно дополнительно отфильтровать, чтобы отобразить количество для каждого или конкретного сочетания серверного пула и параметра HTTP.

Внутренние метрики для SKU версии 1 Шлюз приложений

Для SKU Шлюз приложений версии 1 доступны следующие внутренние метрики. Ниже приведены расширенные описания внутренних метрик, уже перечисленных в предыдущей таблице метрик.

  • Число работоспособных узлов. Число серверных элементов, определенных как работоспособные с помощью пробы работоспособности. Можно выполнить фильтрацию по серверному пулу для отображения числа работоспособных узлов в определенном серверном пуле.

  • Неработоспособное число узлов. Число серверных элементов, определенных как неработоспособные с помощью пробы работоспособности. Можно выполнить фильтрацию по серверному пулу для отображения числа неработоспособных узлов в определенном серверном пуле.

API работоспособности серверной части

Дополнительные сведения о вызове API см. в Шлюз приложений . Сведения о работоспособности серверной части шлюза приложений.

Пример запроса:

POST
https://management.azure.com/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/
applicationGateways/appgw/backendhealth?api-version=2021-08-01

После отправки этого запроса POST вы увидите ответ HTTP 202 Accepted. В заголовках ответа найдите заголовок Location и отправьте новый запрос GET с помощью этого URL-адреса.

GET
https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/region-name/operationResults/GUID?api-version=2021-08-01

Метрики прокси-сервера TLS/TCP

Шлюз приложений поддерживает мониторинг прокси-сервера TLS/TCP. Благодаря функции прокси-сервера уровня 4 теперь доступно Шлюз приложений, существуют некоторые распространенные метрики, которые применяются как к уровню 7, так и к уровню 4. Существуют некоторые метрики уровня 4. В следующем списке приведены метрики, применимые для использования уровня 4.

  • Текущие подключения.
  • Новые подключения в секунду
  • Пропускная способность
  • Количество работоспособных узлов
  • Количество неработоспособных узлов
  • Время кругового пути (RTT) клиента
  • Время соединения с серверной частью
  • Время отклика серверной части первого байта. BackendHttpSetting измерение включает как параметры серверной части уровня 7, так и уровня 4.

Дополнительные сведения см. в предыдущих описаниях и таблице метрик.

Эти метрики применяются только к уровню 4.

  • Длительность сеанса серверной части. Общее время внутреннего подключения. Средняя продолжительность времени от начала нового подключения к его завершении. BackendHttpSetting измерение включает как параметры серверной части уровня 7, так и уровня 4.
  • Время существования подключения. Общее время подключения клиента к шлюзу приложений. Средняя длительность с начала нового соединения до завершения в миллисекундах.

Работоспособность серверной части прокси-сервера TLS/TCP

прокси-сервер уровня 4 Шлюз приложений предоставляет возможность отслеживать работоспособность отдельных членов внутренних пулов через портал и REST API.

Снимок экрана: работоспособность отдельных членов внутренних пулов.

Измерения метрик

Дополнительные сведения о измерениях метрик см. в разделе "Многомерные метрики".

Эта служба имеет следующие измерения, связанные с ее метриками.

  • Действие
  • BackendHttpSetting
  • BackendPool
  • Серверный сервер
  • BackendSettingsPool
  • Категория
  • CountryCode
  • CustomRuleID
  • HttpStatusGroup
  • Средство прослушивания
  • Способ
  • Режим
  • PolicyName
  • PolicyScope
  • Группа правил
  • RuleGroupID
  • Идентификатор правила
  • RuleSetName
  • TlsProtocol

Примечание.

Если в Шлюзе приложений имеется несколько прослушивателей, всегда выполняйте фильтрацию по измерению Прослушиватель, сравнивая различные метрики задержки, чтобы получить значимый вывод.

Журналы ресурсов

В этом разделе перечислены типы журналов ресурсов, которые можно собирать для этой службы. Раздел извлекает из списка всех типов категорий журналов ресурсов, поддерживаемых в Azure Monitor.

Поддерживаемые категории журналов ресурсов для Microsoft.Network/applicationGateways

Категория Отображаемое имя категории Таблица журналов Поддерживает базовый план журнала Поддерживает преобразование времени приема Примеры запросов Затраты на экспорт
ApplicationGatewayAccessLog Журнал доступа к шлюзу приложений AzureDiagnostics

Журналы из нескольких ресурсов Azure.

No No Запросы No
ApplicationGatewayFirewallLog Журнал брандмауэра шлюза приложений AzureDiagnostics

Журналы из нескольких ресурсов Azure.

No No Запросы No
ApplicationGatewayPerformanceLog Журнал производительности шлюза приложений AzureDiagnostics

Журналы из нескольких ресурсов Azure.

No No Запросы No
  • Журнал доступа. Журнал Access можно использовать для просмотра шаблонов доступа Шлюз приложений и анализа важных сведений. Эти сведения включают IP-адрес вызывающего объекта, запрошенный URL-адрес, задержку ответа, код возврата и байты в и вне. Журнал доступа собирается каждые 60 секунд. Этот журнал содержит одну запись для каждого экземпляра шлюза приложений. Свойство instanceId определяет экземпляр Шлюз приложений.

  • Журнал брандмауэра. Журнал брандмауэра можно использовать для просмотра запросов, которые регистрируются с помощью режима обнаружения или предотвращения шлюза приложений, настроенного брандмауэром веб-приложения. Журналы брандмауэров собираются каждые 60 секунд.

  • Журнал производительности. Журнал производительности можно использовать для просмотра того, как выполняются Шлюз приложений экземпляры. Этот журнал записывает сведения о производительности для каждого экземпляра, включая общее количество обслуживаемых запросов, пропускную способность в байтах, общее количество обслуживаемых запросов, количество неудачных запросов и число неработоспособных и неработоспособных экземпляров серверной части. Данные для журнала производительности собираются каждые 60 секунд.

    Примечание.

    Журнал производительности доступен только для номера SKU версии 1. Для номера SKU версии 2 используйте метрики для данных производительности.

Категория журнала Access

Журнал доступа создается только в том случае, если он включен для каждого экземпляра Шлюз приложений, как описано в разделе "Включить ведение журнала". Данные хранятся в учетной записи хранения, указанной при включении ведения журнала. Каждый доступ к Шлюз приложений регистрируется в формате JSON, как показано ниже.

Примечание.

Дополнительные сведения о прокси-сервере TLS/TCP см . в справочнике по данным.

Для SKU Шлюз приложений и WAF версии 2:

значение Описание
instanceId Экземпляр шлюза приложений, который обрабатывает запрос.
clientIP IP-адрес немедленного клиента Шлюз приложений. Если другой прокси-сервер перед шлюзом приложений, это значение отображает IP-адрес этого внешнего прокси-сервера.
httpMethod Метод HTTP, используемый для запроса.
requestUri URI полученного запроса.
UserAgent Агент пользователя из заголовка HTTP-запроса.
httpStatus Код состояния HTTP, возвращаемый клиенту из шлюза приложений.
httpVersion Версия HTTP для запроса.
receivedBytes Размер полученного пакета (в байтах).
sentBytes Размер отправленного пакета (в байтах).
clientResponseTime Разница во времени (в секундах) между первым байтом и последним шлюзом приложений байтов, отправляемых клиенту. Полезно при анализе времени обработки Шлюз приложений для ответов или медленных клиентов.
timeTaken Время (в секундах), которое требуется для обработки первого байта запроса клиента и его последнего байта, отправленного в ответе клиенту. Важно отметить, что в поле Time-Taken обычно указывается время передачи пакетов запросов и ответов по сети.
WAFEvaluationTime Время (в секундах), которое требуется для обработки запроса WAF.
WAFMode Значение может быть либо обнаружением, либо предотвращением.
transactionId Уникальный идентификатор для сопоставления запроса, полученного от клиента.
sslEnabled Используется ли обмен данными с внутренними пулами TLS. Допустимые значения: on и off.
sslCipher Набор шифров, используемый для обмена данными TLS (если включен протокол TLS).
sslProtocol Используемый протокол SSL/TLS (если TLS включен).
sslClientVerify Показывает результат проверки сертификата клиента как SUCCESS или FAILED. Состояние сбоя будет содержать сведения об ошибке.
sslClientCertificateFingerprint Отпечаток SHA1 сертификата клиента для установленного подключения TLS.
sslClientCertificateIssuerName Строка DN издателя сертификата клиента для установленного подключения TLS.
serverRouted Внутренний сервер, на который шлюз приложений направляет запрос.
serverStatus Код состояния HTTP внутреннего сервера.
serverResponseLatency Задержка ответа (в секундах) от внутреннего сервера.
host Адрес, указанный в заголовке узла запроса. Если перезаписывается с помощью перезаписи заголовка, это поле содержит обновленное имя узла.
originalRequestUriWithArgs Это поле содержит исходный URL-адрес запроса.
requestUri Это поле содержит URL-адрес после операции перезаписи Шлюз приложений.
upstreamSourcePort Исходный порт, используемый Шлюз приложений при инициировании подключения к внутреннему целевому объекту.
originalHost Это поле содержит исходное имя узла запроса.
error_info Причина ошибки 4xx и 5xx. Отображает код ошибки для неудачного запроса. Дополнительные сведения о таблицах кода ошибки в этой статье.
contentType Тип содержимого или данных, которые обрабатываются или передаются шлюзом приложений.
{
    "timeStamp": "2021-10-14T22:17:11+00:00",
    "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
    "listenerName": "HTTP-Listener",
    "ruleName": "Storage-Static-Rule",
    "backendPoolName": "StaticStorageAccount",
    "backendSettingName": "StorageStatic-HTTPS-Setting",
    "operationName": "ApplicationGatewayAccess",
    "category": "ApplicationGatewayAccessLog",
    "properties": {
        "instanceId": "appgw_2",
        "clientIP": "185.42.129.24",
        "clientPort": 45057,
        "httpMethod": "GET",
        "originalRequestUriWithArgs": "\/",
        "requestUri": "\/",
        "requestQuery": "",
        "userAgent": "Mozilla\/5.0 (Windows NT 6.1; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/52.0.2743.116 Safari\/537.36",
        "httpStatus": 200,
        "httpVersion": "HTTP\/1.1",
        "receivedBytes": 184,
        "sentBytes": 466,
        "clientResponseTime": 0,
        "timeTaken": 0.034,
        "WAFEvaluationTime": "0.000",
        "WAFMode": "Detection",
        "transactionId": "592d1649f75a8d480a3c4dc6a975309d",
        "sslEnabled": "on",
        "sslCipher": "ECDHE-RSA-AES256-GCM-SHA384",
        "sslProtocol": "TLSv1.2",
        "sslClientVerify": "NONE",
        "sslClientCertificateFingerprint": "",
        "sslClientCertificateIssuerName": "",
        "serverRouted": "52.239.221.65:443",
        "serverStatus": "200",
        "serverResponseLatency": "0.028",
        "upstreamSourcePort": "21564",
        "originalHost": "20.110.30.194",
        "host": "20.110.30.194",
        "error_info":"ERRORINFO_NO_ERROR",
        "contentType":"application/json"
    }
}

Примечание.

Доступ к журналам с значением clientIP 127.0.0.1 происходит из внутреннего процесса безопасности, выполняемого на экземплярах шлюза приложений. Эти записи журнала можно безопасно игнорировать.

Для SKU Шлюз приложений standard и WAF (v1):

значение Описание
instanceId Экземпляр шлюза приложений, который обрабатывает запрос.
clientIP IP-адрес источника запроса.
clientPort Порт источника запроса.
httpMethod Метод HTTP, используемый для запроса.
requestUri URI полученного запроса.
RequestQuery Server-Routed: экземпляр внутреннего пула, который был отправлен запрос.
X-AzureApplicationGateway-LOG-ID: идентификатор корреляции, используемый для запроса. Его можно использовать для устранения проблем с трафиком на внутренних серверах.
SERVER-STATUS — код отклика HTTP, полученный шлюзом приложений из серверной части.
UserAgent Агент пользователя из заголовка HTTP-запроса.
httpStatus Код состояния HTTP, возвращаемый клиенту из шлюза приложений.
httpVersion Версия HTTP для запроса.
receivedBytes Размер полученного пакета (в байтах).
sentBytes Размер отправленного пакета (в байтах).
timeTaken Время (в миллисекундах), необходимое для обработки запроса и отправки ответа. Это значение вычисляется как интервал от времени, когда Шлюз приложений получает первый байт HTTP-запроса до момента завершения операции отправки ответа. Важно отметить, что в поле Time-Taken обычно указывается время передачи пакетов запросов и ответов по сети.
sslEnabled Используется ли обмен данными с внутренними пулами TLS/SSL. Допустимые значения: on и off.
host Имя узла, для которого запрос был отправлен на внутренний сервер. Если переопределяется имя внутреннего узла, это имя отражает это.
originalHost Имя узла, для которого запрос был получен Шлюз приложений от клиента.
{
    "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/PEERINGTEST/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
    "operationName": "ApplicationGatewayAccess",
    "time": "2017-04-26T19:27:38Z",
    "category": "ApplicationGatewayAccessLog",
    "properties": {
        "instanceId": "ApplicationGatewayRole_IN_0",
        "clientIP": "203.0.113.97",
        "clientPort": 46886,
        "httpMethod": "GET",
        "requestUri": "/phpmyadmin/scripts/setup.php",
        "requestQuery": "X-AzureApplicationGateway-CACHE-HIT=0&SERVER-ROUTED=10.4.0.4&X-AzureApplicationGateway-LOG-ID=aaaa0000-bb11-2222-33cc-444444dddddd&SERVER-STATUS=404",
        "userAgent": "-",
        "httpStatus": 404,
        "httpVersion": "HTTP/1.0",
        "receivedBytes": 65,
        "sentBytes": 553,
        "timeTaken": 205,
        "sslEnabled": "off",
        "host": "www.contoso.com",
        "originalHost": "www.contoso.com"
    }
}

Если шлюз приложений не может завершить запрос, он сохраняет один из следующих кодов причин в поле error_info журнала доступа.

Ошибки 4XX Коды ошибок 4xx указывают на то, что возникла проблема с запросом клиента, и Шлюз приложений не может выполнить его.
ERRORINFO_INVALID_METHOD Клиент отправил запрос, который не соответствует RFC. Возможные причины: клиент, использующий метод HTTP, который не поддерживается сервером, методом с ошибками, несовместимой версией протокола HTTP и т. д.
ERRORINFO_INVALID_REQUEST Сервер не может выполнить запрос из-за неправильного синтаксиса.
ERRORINFO_INVALID_VERSION Шлюз приложений получил запрос с недопустимой или неподдерживаемой версией HTTP.
ERRORINFO_INVALID_09_METHOD Клиент отправил запрос с протоколом HTTP версии 0.9.
ERRORINFO_INVALID_HOST Значение, указанное в заголовке Host, отсутствует, неправильно отформатировано или не соответствует ожидаемому значению узла. Например, если прослушиватель "Базовый" отсутствует, и ни одно из имен узлов многосайтовых прослушивателей не совпадает с узлом.
ERRORINFO_INVALID_CONTENT_LENGTH Длина содержимого, указанного клиентом в заголовке content-Length, не соответствует фактической длине содержимого в запросе.
ERRORINFO_INVALID_METHOD_TRACE Клиент отправил метод HTTP TRACE, который шлюз приложений не поддерживает.
ERRORINFO_CLIENT_CLOSED_REQUEST Клиент закрыл подключение к шлюзу приложений до истечения периода ожидания простоя. Проверьте, больше ли период времени ожидания клиента, чем период ожидания простоя для шлюза приложений.
ERRORINFO_REQUEST_URI_INVALID Указывает проблему с универсальным идентификатором ресурса (URI), предоставленной в запросе клиента.
ERRORINFO_HTTP_NO_HOST_HEADER Клиент отправил запрос без заголовка узла.
ERRORINFO_HTTP_TO_HTTPS_PORT Клиент отправил обычный HTTP-запрос на порт HTTPS.
ERRORINFO_HTTPS_NO_CERT Указывает, что клиент не отправляет действительный и правильно настроенный сертификат TLS во время взаимной проверки подлинности TLS.
Ошибки 5XX Description
ERRORINFO_UPSTREAM_NO_LIVE Шлюз приложений не может найти активные или доступные серверы серверной части для обработки входящих запросов.
ERRORINFO_UPSTREAM_CLOSED_CONNECTION Сервер серверной части неожиданно закрыл подключение или до полной обработки запроса. Это условие может произойти из-за достижения внутренних серверов ограничений, сбоя и т. д.
ERRORINFO_UPSTREAM_TIMED_OUT Установленное TCP-соединение с сервером было закрыто, так как подключение заняло больше времени, чем настроенное значение времени ожидания.

Категория журнала брандмауэра

Журнал брандмауэра создается только в том случае, если он включен для каждого шлюза приложений, как описано в разделе "Включить ведение журнала". Кроме того, в шлюзе приложений должен быть настроен брандмауэр веб-приложения. Данные хранятся в учетной записи хранения, указанной при включении ведения журнала. В журнал записываются следующие данные:

значение Описание
instanceId Экземпляр шлюза приложений, для которого формируются данные о брандмауэре. Для шлюза приложений с несколькими экземплярами существует одна строка для каждого экземпляра.
clientIp IP-адрес источника запроса.
clientPort Порт источника запроса.
requestUri URL-адрес полученного запроса.
ruleSetType Тип набора правил. Доступное значение — OWASP.
ruleSetVersion Используемая версия набора правил. Возможные значения: 2.2.9 и 3.0.
ruleId Идентификатор правила события-триггера.
message Понятное сообщение для события-триггера. Дополнительные сведения приведены в разделе details.
действие Действие, выполняемое с запросом. Доступные значения: "Заблокировано" и "Разрешено" (для пользовательских правил), "Сопоставлено" (если правило соответствует части запроса) и "Обнаружено" и "Заблокировано" (эти значения предназначены для обязательных правил в зависимости от того, находится ли WAF в режиме обнаружения или предотвращения).
site Сайт, для которого создан журнал. В нашем случае возможно только значение Global, так как применяются глобальные правила.
details Сведения о событии-триггере.
details.message Описание правила.
details.data Определенные данные из запроса, которые соответствуют правилу.
details.file Файл конфигурации, содержащий правило.
details.line Номер строки в файле конфигурации, активировавшей событие.
hostname Имя узла или IP-адрес Шлюза приложений.
transactionId Уникальный идентификатор для данной транзакции, который помогает сгруппировать несколько нарушений правил, произошедших в одном запросе.
{
    "timeStamp": "2021-10-14T22:17:11+00:00",
    "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
    "operationName": "ApplicationGatewayFirewall",
    "category": "ApplicationGatewayFirewallLog",
    "properties": {
        "instanceId": "appgw_2",
        "clientIp": "185.42.129.24",
        "clientPort": "",
        "requestUri": "\/",
        "ruleSetType": "OWASP_CRS",
        "ruleSetVersion": "3.0.0",
        "ruleId": "920350",
        "message": "Host header is a numeric IP address",
        "action": "Matched",
        "site": "Global",
        "details": {
            "message": "Warning. Pattern match \\\"^[\\\\d.:]+$\\\" at REQUEST_HEADERS:Host .... ",
            "data": "20.110.30.194:80",
            "file": "rules\/REQUEST-920-PROTOCOL-ENFORCEMENT.conf",
            "line": "791"
        },
        "hostname": "20.110.30.194:80",
        "transactionId": "592d1649f75a8d480a3c4dc6a975309d",
        "policyId": "default",
        "policyScope": "Global",
        "policyScopeName": "Global"
    }
}

Категория журнала производительности

Журнал производительности создается только в том случае, если он включен для каждого экземпляра Шлюз приложений, как описано в разделе "Включить ведение журнала". Данные хранятся в учетной записи хранения, указанной при включении ведения журнала. Данные журнала производительности формируются с интервалом в 1 минуту. Он доступен только для номера SKU версии 1. Для номера SKU версии 2 используйте метрики для данных производительности. В журнал записываются следующие данные:

значение Описание
instanceId Экземпляр шлюза приложений, для которого формируются данные о производительности. Для шлюза приложений с несколькими экземплярами существует одна строка для каждого экземпляра.
healthyHostCount Количество работоспособных узлов в серверном пуле.
unHealthyHostCount Количество неработоспособных узлов в серверном пуле.
requestCount Число обрабатываемых запросов.
latency Средняя задержка (в миллисекундах) запросов от экземпляра к серверной части, обрабатывающей запросы.
failedRequestCount Количество невыполненных запросов.
throughput Средняя пропускная способность (в байтах в секунду) с момента создания последнего журнала.
{
    "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
    "operationName": "ApplicationGatewayPerformance",
    "time": "2016-04-09T00:00:00Z",
    "category": "ApplicationGatewayPerformanceLog",
    "properties":
    {
        "instanceId":"ApplicationGatewayRole_IN_1",
        "healthyHostCount":"4",
        "unHealthyHostCount":"0",
        "requestCount":"185",
        "latency":"0",
        "failedRequestCount":"0",
        "throughput":"119427"
    }
}

Примечание.

Задержка вычисляется от момента получения первого байта HTTP-запроса до момента отправки последнего байта HTTP-отклика. Это сумма времени обработки шлюза приложений, времени передачи по сети к серверной части, а также времени, необходимого для обработки запроса в серверной части.

Журналы Azure Monitor и таблицы Log Analytics

Для хранения сведений журнала ресурсов Шлюз приложений Azure использует таблицу Диагностика Azure. Нас интересуют следующие столбцы.

Свойство Description
requestUri_s Универсальный код ресурса (URI) запроса клиента.
Сообщение Информационные сообщения, такие как "Атака на внедрение SQL"
userAgent_s Сведения об агенте пользователя для запроса клиента
ruleName_s Правило маршрутизации запросов, используемое для обслуживания этого запроса
httpMethod_s Метод HTTP, используемый для запроса клиента
instanceId_s Экземпляр Appgw, к которому направляется запрос клиента для оценки
httpVersion_s Версия HTTP запроса клиента
clientIP_s IP-адрес, с которого выполняется запрос
host_s Заголовок узла запроса клиента
requestQuery_s Строка запроса как часть запроса клиента
sslEnabled_s Включен ли протокол SSL для запроса клиента

Таблицы журналов Azure Monitor

В этом разделе перечислены таблицы журналов Azure Monitor, относящиеся к этой службе, которые доступны для запроса Log Analytics с помощью запросов Kusto. Таблицы содержат данные журнала ресурсов и, возможно, больше в зависимости от собираемых и перенаправленных к ним данных.

Шлюз приложений Microsoft.Network/applicationGateways

Журналы прокси-сервера TLS/TCP

прокси-сервер уровня 4 уровня 4 Шлюз приложений предоставляет данные журнала через журналы доступа. Эти журналы создаются и публикуются только в том случае, если они настроены в параметрах диагностики шлюза. См. также: поддерживаемые категории для журналов ресурсов Azure Monitor.

Примечание.

Столбцы со сведениями о взаимной проверке подлинности для прослушивателя TLS в настоящее время доступны только в таблице AzureDiagnostics.

Категория Категория журнала ресурсов
ResourceGroup Группа ресурсов, к которой принадлежит ресурс шлюза приложений.
SubscriptionId Идентификатор подписки ресурса шлюза приложений.
ResourceProvider Это значение — MICROSOFT. NETWORK для шлюза приложений.
Ресурс Имя ресурса шлюза приложений.
ResourceType Это значение — APPLICATIONGATEWAYS.
ruleName Имя правила маршрутизации, обслуживающего запрос подключения.
instanceId Экземпляр шлюза приложений, который обрабатывает запрос.
clientIP IP-адрес источника запроса.
receivedBytes Данные, полученные от клиента к шлюзу, в байтах.
sentBytes Данные, отправляемые из шлюза в клиент, в байтах.
listenerName Имя прослушивателя, который установил подключение внешнего интерфейса с клиентом.
backendSettingName Имя параметра серверной части, используемого для внутреннего подключения.
backendPoolName Имя внутреннего пула, из которого был выбран целевой сервер для установления внутреннего подключения.
protocol TCP (независимо от того, что протокол TCP или TLS, значение протокола всегда равно TCP).
sessionTime Длительность сеанса в секундах (это значение для сеанса client-appgw>).
upstreamSentBytes Данные, отправляемые на внутренний сервер, в байтах.
upstreamReceivedBytes Данные, полученные от внутреннего сервера в байтах.
upstreamSessionTime Длительность сеанса в секундах (это значение для сеанса appgw-backend>).
sslCipher Набор шифров, используемый для связи TLS (для прослушивателей протоколов TLS).
sslProtocol Протокол SSL/TLS используется (для прослушивателей протоколов TLS).
serverRouted IP-адрес внутреннего сервера и номер порта, к которому был перенаправлен трафик.
serverStatus 200 — сеанс успешно завершен. 400 — не удалось проанализировать данные клиента. 500 — внутренняя ошибка сервера. 502 — недопустимый шлюз. Например, если не удалось достичь вышестоящего сервера. 503 — служба недоступна. Например, если доступ ограничен количеством подключений.
ResourceId Шлюз приложений URI ресурса.

Журнал действий

В связанной таблице перечислены операции, которые можно записать в журнале действий для этой службы. Эти операции представляют собой подмножество всех возможных операций поставщика ресурсов в журнале действий.

Дополнительные сведения о схеме записей журнала действий см . в схеме журнала действий.

Журналы действий Azure можно использовать для просмотра всех операций, отправленных в подписку Azure, и их состояния. Записи журнала действий собираются по умолчанию. Их можно просмотреть на портале Azure. Журналы действий Azure ранее были известны как операционные журналы и журналы аудита.

Azure создает журналы действий по умолчанию. Журналы хранятся в течение 90 дней в хранилище журналов событий Azure. Дополнительные сведения об этих журналах см. в статье Просмотр журналов действий для аудита действий с ресурсами.