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


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

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

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

Метрики

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

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

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

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

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

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

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

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

Среднее число запросов в минуту на каждый работоспособный серверный узел в пуле
AvgRequestCountPerHealthyHost Численность По средней BackendSettingsPool ПТ1М нет
Соответствия защиты от ботов WAF

Сопоставленные правила ботов
AzwafBotProtection Численность Сумма (Итог) Action, , CategoryModeCountryCodePolicyName,PolicyScope ПТ1М Да
Соответствия настраиваемого правила WAF

Сопоставленные настраиваемые правила
AzwafCustomRule Численность Сумма (Итог) Action, , CustomRuleIDModeCountryCodePolicyName,PolicyScope ПТ1М Да
Количество запросов запросов на вызовы WAF JS

Общее количество запросов на вызовЫ JS, оцененных WAF
AzWAFJSChallengeRequestCount Численность Сумма (Итог) Action, , PolicyNameRulePolicyScope ПТ1М Да
Соответствия управляемого правила WAF

Срабатывание управляемых правил
AzwafSecRule Численность Сумма (Итог) Action, Mode, RuleGroupIDRuleIDCountryCodePolicyNamePolicyScopeRuleSetName ПТ1М Да
Всего запросов WAF

Общее количество запросов, оцененных WAF
AzwafTotalRequests Численность Сумма (Итог) Action, , CountryCodeMethodModePolicyName,PolicyScope ПТ1М Да
Время подключения серверной части

Время, затраченное на установление соединения с внутренним сервером
BackendConnectTime Миллисекунды Среднее, максимальное Listener, , BackendServerBackendPoolBackendHttpSetting ПТ1М нет
Время отклика серверной части первого байта

Интервал времени между началом установки соединения с внутренним сервером и получением первого байта заголовка ответа, что приблизительно равно времени обработки внутреннего сервера
BackendFirstByteResponseTime Миллисекунды Среднее, максимальное Listener, , BackendServerBackendPoolBackendHttpSetting ПТ1М нет
Время отклика серверной части последней байтовой части

Интервал времени с начала установки подключения к внутреннему серверу до момента получения последнего байта текста ответа
BackendLastByteResponseTime Миллисекунды Среднее, максимальное Listener, , BackendServerBackendPoolBackendHttpSetting ПТ1М нет
Состояние ответа серверной части

Количество кодов HTTP-ответов, создаваемых внутренними элементами. Сюда не входят коды ответов, созданные Шлюзом приложений.
BackendResponseStatus Численность Сумма (Итог) BackendServer, , BackendPoolBackendHttpSettingHttpStatusGroup ПТ1М Да
распределение правил заблокированных запросов Брандмауэр веб-приложений

Распространение правил заблокированных запросов к брандмауэру веб-приложения
BlockedCount Численность Сумма (Итог) RuleGroup, RuleId ПТ1М Да
Получено байт

Общее число байтов, полученных шлюзом приложений от клиентов
BytesReceived Байт Сумма (Итог) Listener ПТ1М Да
Отправлено байт

Общее число байтов, отправленных шлюзом приложений клиентам
BytesSent Байт Сумма (Итог) Listener ПТ1М Да
Текущие единицы емкости

Потребленные единицы емкости
CapacityUnits Численность По средней <нет> ПТ1М нет
RTT клиента

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

Потребленные единицы вычислений
ComputeUnits Численность По средней <нет> ПТ1М нет
Использование ЦП

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

Число текущих установленных подключений к шлюзу приложений
CurrentConnections Численность Сумма (Итог) <нет> ПТ1М Да
Предполагаемое выставление счетов единиц емкости

Предполагаемые единицы емкости, за которые будет взиматься плата
EstimatedBilledCapacityUnits Численность По средней <нет> ПТ1М нет
Невыполненные запросы

Число запросов со сбоем, обработанных шлюзом приложений
FailedRequests Численность Сумма (Итог) BackendSettingsPool ПТ1М Да
Фиксированные оплачиваемые единицы емкости

Минимальные единицы емкости, за которые будет взиматься плата
FixedBillableCapacityUnits Численность По средней <нет> ПТ1М нет
Число работоспособных хостов

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

Общее распределение правил брандмауэра веб-приложения для входящего трафика
MatchedCount Численность Сумма (Итог) RuleGroup, RuleId ПТ1М Да
Новых подключений в секунду

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

Состояние ответа HTTP, возвращенное шлюзом приложений
ResponseStatus Численность Сумма (Итог) HttpStatusGroup ПТ1М Да
Пропускная способность

Количество байтов в секунду, обрабатываемых шлюзом приложений
Throughput Байт в секунду По средней <нет> ПТ1М нет
Протокол TLS клиента

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

Число успешных запросов, обработанных шлюзом приложений
TotalRequests Численность Сумма (Итог) BackendSettingsPool ПТ1М Да
Число неработоспособных узлов

Количество неработоспособных узлов серверной части
UnhealthyHostCount Численность По средней BackendSettingsPool ПТ1М Да

Доступные метрики Брандмауэр веб-приложений (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 (HTTP/S). Дополнительные сведения о каждом из них см. в полном списке метрик.

Метрики, которые также применяются к прокси-серверу L4

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

Метрики для конкретного прокси-сервера L4

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

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

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

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

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

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

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

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

Примечание.

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

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

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

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

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

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

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

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

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

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

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

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

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

    Примечание.

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

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

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

Примечание.

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

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

значение Описание
instanceId Экземпляр шлюза приложений, который обрабатывает запрос.
IP-адрес клиента IP-адрес немедленного клиента Шлюз приложений. Если другой прокси-сервер перед шлюзом приложений, это значение отображает IP-адрес этого внешнего прокси-сервера.
HTTP-метод Метод HTTP, используемый для запроса.
requestUri (запрос URI) URI полученного запроса.
ЮзерАгент Агент пользователя из заголовка HTTP-запроса.
httpStatus Код состояния HTTP, возвращаемый клиенту из шлюза приложений.
версия HTTP Версия HTTP для запроса.
полученные байты Размер полученного пакета (в байтах).
отправленные байты Размер отправленного пакета (в байтах).
clientResponseTime Разница во времени (в секундах) между первым байтом и последним шлюзом приложений байтов, отправляемых клиенту. Полезно при анализе времени обработки Шлюз приложений для ответов или медленных клиентов.
затраченное время Время (в секундах), которое требуется для обработки первого байта запроса клиента и его последнего байта, отправленного в ответе клиенту. Важно отметить, что в поле Time-Taken обычно указывается время передачи пакетов запросов и ответов по сети.
WAFEvaluationTime Время (в секундах), которое требуется для обработки запроса WAF.
WAFMode Значение может быть либо обнаружением, либо предотвращением.
transactionId Уникальный идентификатор для сопоставления запроса, полученного от клиента.
SSL включен Используется ли обмен данными с внутренними пулами TLS. Допустимые значения: on и off.
шифр SSL Набор шифров, используемый для обмена данными TLS (если включен протокол TLS).
SSL-протокол Используемый протокол SSL/TLS (если TLS включен).
sslClientVerify Показывает результат проверки сертификата клиента как SUCCESS или FAILED. Состояние сбоя будет содержать сведения об ошибке.
sslClientCertificateFingerprint Отпечаток SHA1 сертификата клиента для установленного подключения TLS.
sslClientCertificateIssuerName Строка DN издателя сертификата клиента для установленного подключения TLS.
маршрутизируемый сервером Внутренний сервер, на который шлюз приложений направляет запрос.
состояние сервера Код состояния HTTP внутреннего сервера.
Задержка отклика сервера Задержка ответа (в секундах) от внутреннего сервера.
хост Адрес, указанный в заголовке узла запроса. Если перезаписывается с помощью перезаписи заголовка, это поле содержит обновленное имя узла.
originalRequestUriWithArgs Это поле содержит исходный URL-адрес запроса.
requestUri (запрос URI) Это поле содержит URL-адрес после операции перезаписи Шлюз приложений.
upstreamSourcePort Исходный порт, используемый Шлюз приложений при инициировании подключения к внутреннему целевому объекту.
originalHost Это поле содержит исходное имя узла запроса.
error_info Причина ошибки 4xx и 5xx. Отображает код ошибки для неудачного запроса. Дополнительные сведения о таблицах кода ошибки в этой статье.
Тип контента Тип содержимого или данных, которые обрабатываются или передаются шлюзом приложений.
{
    "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 Экземпляр шлюза приложений, который обрабатывает запрос.
IP-адрес клиента IP-адрес источника запроса.
порт клиента Порт источника запроса.
HTTP-метод Метод HTTP, используемый для запроса.
requestUri (запрос URI) URI полученного запроса.
Запрос с параметрами Server-Routed: экземпляр внутреннего пула, который был отправлен запрос.
X-AzureApplicationGateway-LOG-ID: идентификатор корреляции, используемый для запроса. Его можно использовать для устранения проблем с трафиком на внутренних серверах.
SERVER-STATUS — код отклика HTTP, полученный шлюзом приложений из серверной части.
ЮзерАгент Агент пользователя из заголовка HTTP-запроса.
httpStatus Код состояния HTTP, возвращаемый клиенту из шлюза приложений.
версия HTTP Версия HTTP для запроса.
полученные байты Размер полученного пакета (в байтах).
отправленные байты Размер отправленного пакета (в байтах).
затраченное время Время (в миллисекундах), необходимое для обработки запроса и отправки ответа. Это значение вычисляется как интервал от времени, когда Шлюз приложений получает первый байт HTTP-запроса до момента завершения операции отправки ответа. Важно отметить, что в поле Time-Taken обычно указывается время передачи пакетов запросов и ответов по сети.
SSL включен Используется ли обмен данными с внутренними пулами TLS/SSL. Допустимые значения: on и off.
хост Имя узла, для которого запрос был отправлен на внутренний сервер. Если переопределяется имя внутреннего узла, это имя отражает это.
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.
ERRORINFO_INVALID_HEADER (4xx) Указывает, что HTTP-запрос от клиента содержит неправильный или неправильно структурированный заголовок узла, который предотвращает правильную обработку и маршрутизацию запроса на внутренний сервер шлюза приложений.
ERRORINFO_CLIENT_TIMED_OUT Эта ошибка означает, что клиент завершил подключение, так как он не получил ответ от серверного сервера в течение заданного периода ожидания. Обычно это вызвано медленным, перегруженным сервером или проблемами с операционными проблемами.
ERRORINFO_REQUEST_URI_TOO_LARGE Эта ошибка указывает, что URL-адрес в HTTP-запросе превышает максимальную длину, которую настроен сервер для принятия. Ограничение по умолчанию для длины URL-адреса (включая параметры запроса), равно 8 КБ
ERRORINFO_REQUEST_HEADER_TOO_LARGE Эта ошибка означает, что общий размер заголовков HTTP-запросов, отправленных клиентом, превышает ограничение 32 КБ, которое применяет шлюз приложений. Обратите внимание, что это ограничение исправлено и не может быть настроено.
ERRORINFO_REQUEST_URI_UNSAFE Эта ошибка показывает, что WAF обнаружил небезопасное или неправильно сформированное содержимое в URI запроса. Проверьте журналы WAF, чтобы узнать, какое правило было активировано, и определите, был ли запрос вредоносным или ошибочно помеченным, возможно, требуется корректировка правила WAF.
ERRORINFO_HTTPS_CERT_VERIFY_ERROR Эта ошибка возникает, если сертификат TLS клиента, представленный во время подтверждения взаимного TLS, является недопустимым или недоверенным.
ERRORINFO_HTTP_MISDIRECTED_REQUEST Шлюз приложений возвращает ошибку неправильного направления запроса, если сервер сервер не настроен на ответ на это имя узла в запросе клиента, особенно в сценариях SSL/TLS с указанием имени сервера (SNI)
ERRORINFO_HTTP_NOT_FOUND Шлюз приложений возвращает ошибку "Не найден", когда сервер серверной части не может найти запрошенный ресурс. Обычно это происходит, когда запрошенный путь URL-адреса не существует на сервере серверной части или в правилах маршрутизации в шлюзе приложений возникает ошибка, что приводит к перенаправлению запросов в неправильный серверный пул.
ERRORINFO_CLIENT_SSL_CERT_ERROR Шлюз приложений столкнулся с проблемой с SSL-сертификатом клиента во время подтверждения TLS, предотвращая успешную проверку подлинности. Обычно это происходит при настройке AppGW для взаимной проверки подлинности, а сертификат клиента не предоставляется
Ошибки 5XX Описание
ERRORINFO_UPSTREAM_NO_LIVE Шлюз приложений не может найти активные или доступные серверы серверной части для обработки входящих запросов.
ERRORINFO_EMPTY_BACKEND_POOL Это означает, что AppGW не может выполнить запрос, так как внутренний пул пуст.
ERRORINFO_UPSTREAM_CLOSED_CONNECTION Сервер серверной части неожиданно закрыл подключение или до полной обработки запроса. Это условие может произойти из-за достижения внутренних серверов ограничений, сбоя и т. д.
ERRORINFO_UPSTREAM_TIMED_OUT Установленное TCP-соединение с сервером было закрыто, так как подключение заняло больше времени, чем настроенное значение времени ожидания.
ERRORINFO_INVALID_HEADER Шлюз приложений обнаружил частичный недопустимый заголовок и перенаправил оставшийся заголовок в серверную часть, которая ответила 500. Убедитесь, что заголовок запроса клиента не содержит символов CR, LF, NULL или аналогичных символов. Замените такие символы на sp (пробелы).
ERRORINFO_EMPTY_BACKEND_POOL Это означает, что шлюз приложений не может выполнить запрос, так как внутренний пул пуст.
ERRORINFO_UPSTREAM_RESPONSE_HEADER_TOO_LARGE Заголовки HTTP-ответа внутреннего сервера превышают максимальный размер, который может обрабатывать шлюз приложений Azure. Шлюз приложений применяет фиксированное ограничение в 32 КБ для заголовков ответов, и превышение этого ограничения может привести к 502 плохому шлюзу.
ERRORINFO_UPSTREAM_NO_RESOLVER Эта ошибка указывает, что виртуальная сеть не имеет сопоставителя DNS, настроенного для перевода имен узлов в IP-адреса.
ERRORINFO_UPSTREAM_SSL_CERT_VERIFY_ERROR Эта ошибка возникает, когда шлюз приложений не может проверить серверный сертификат из-за проблем, таких как сбой доверия, истечение срока действия, неполная цепочка и т. д. AppGW завершится сбоем подтверждения SSL/TLS и помечает серверную часть как неработоспособную
ERRORINFO_UPSTREAM_SSL_CERT_MISMATCH Эта ошибка вызвана несоответствием между общим именем или san в сертификате внутреннего сервера и ожидаемым именем узла в полное доменное имя, настроенное в серверном пуле или указанным в параметрах HTTP.

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

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

значение Описание
instanceId Экземпляр шлюза приложений, для которого формируются данные о брандмауэре. Для шлюза приложений с несколькими экземплярами существует одна строка для каждого экземпляра.
IP-адрес клиента IP-адрес источника запроса.
порт клиента Порт источника запроса.
requestUri (запрос URI) URL-адрес полученного запроса.
тип набора правил Тип набора правил. Доступное значение — OWASP.
версия набора правил Используемая версия набора правил. Возможные значения: 2.2.9 и 3.0.
Идентификатор правила Идентификатор правила события-триггера.
сообщение Понятное сообщение для события-триггера. Дополнительные сведения приведены в разделе details.
действие Действие, выполняемое с запросом. Доступные значения: "Заблокировано" и "Разрешено" (для пользовательских правил), "Сопоставлено" (если правило соответствует части запроса) и "Обнаружено" и "Заблокировано" (эти значения предназначены для обязательных правил в зависимости от того, находится ли WAF в режиме обнаружения или предотвращения).
сайт Сайт, для которого создан журнал. В нашем случае возможно только значение Global, так как применяются глобальные правила.
подробности Сведения о событии-триггере.
подробнее.сообщение Описание правила.
подробности.данные Определенные данные из запроса, которые соответствуют правилу.
детали.файл Файл конфигурации, содержащий правило.
details.line Номер строки в файле конфигурации, активировавшей событие.
имя хоста Имя узла или 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 Экземпляр шлюза приложений, для которого формируются данные о производительности. Для шлюза приложений с несколькими экземплярами существует одна строка для каждого экземпляра.
Количество здоровых хостов Количество работоспособных узлов в серверном пуле.
количество нездоровых хостов Количество неработоспособных узлов в серверном пуле.
количество запросов Число обрабатываемых запросов.
задержка Средняя задержка (в миллисекундах) запросов от экземпляра к серверной части, обрабатывающей запросы.
количествоНесостоявшихсяЗапросов Количество невыполненных запросов.
пропускная способность Средняя пропускная способность (в байтах в секунду) с момента создания последнего журнала.
{
    "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. Нас интересуют следующие столбцы.

Свойство Описание
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 Группа ресурсов, к которой принадлежит ресурс шлюза приложений.
ID подписки Идентификатор подписки ресурса шлюза приложений.
Поставщик ресурсов Это значение — MICROSOFT. NETWORK для шлюза приложений.
Ресурс Имя ресурса шлюза приложений.
ТипРесурса Это значение — APPLICATIONGATEWAYS.
название правила Имя правила маршрутизации, обслуживающего запрос подключения.
instanceId Экземпляр шлюза приложений, который обрабатывает запрос.
IP-адрес клиента IP-адрес источника запроса.
полученные байты Данные, полученные от клиента к шлюзу, в байтах.
отправленные байты Данные, отправляемые из шлюза в клиент, в байтах.
listenerName Имя прослушивателя, который установил подключение внешнего интерфейса с клиентом.
backendSettingName Имя параметра серверной части, используемого для внутреннего подключения.
backendPoolName Имя внутреннего пула, из которого был выбран целевой сервер для установления внутреннего подключения.
протокол TCP (независимо от того, что протокол TCP или TLS, значение протокола всегда равно TCP).
sessionTime Длительность сеанса в секундах (это значение для сеанса client-appgw>).
upstreamSentBytes Данные, отправляемые на внутренний сервер, в байтах.
upstreamReceivedBytes Данные, полученные от внутреннего сервера в байтах.
upstreamSessionTime Длительность сеанса в секундах (это значение для сеанса appgw-backend>).
шифр SSL Набор шифров, используемый для связи TLS (для прослушивателей протоколов TLS).
SSL-протокол Протокол SSL/TLS используется (для прослушивателей протоколов TLS).
маршрутизируемый сервером IP-адрес внутреннего сервера и номер порта, к которому был перенаправлен трафик.
состояние сервера 200 — сеанс успешно завершен. 400 — не удалось проанализировать данные клиента. 500 — внутренняя ошибка сервера. 502 — недопустимый шлюз. Например, если не удалось достичь вышестоящего сервера. 503 — служба недоступна. Например, если доступ ограничен количеством подключений.
error_info Причина ошибки в коде serverStatus.
ResourceId (Идентификатор ресурса) Шлюз приложений URI ресурса.

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

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

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

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

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