Справочник по данным мониторинга Шлюз приложений 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 , , Category CountryCode Mode PolicyName ,PolicyScope |
PT1M | Да |
Соответствия настраиваемого правила WAF Сопоставленные настраиваемые правила |
AzwafCustomRule |
Count | Total (Sum) | Action , , CustomRuleID CountryCode Mode PolicyName ,PolicyScope |
PT1M | Да |
Количество запросов запросов на вызовы WAF JS Общее количество запросов на вызовЫ JS, оцененных WAF |
AzWAFJSChallengeRequestCount |
Count | Total (Sum) | Action , , PolicyName Rule PolicyScope |
PT1M | Да |
Соответствия управляемого правила WAF Срабатывание управляемых правил |
AzwafSecRule |
Count | Total (Sum) | Action , Mode , RuleGroupID RuleID CountryCode PolicyName PolicyScope RuleSetName |
PT1M | Да |
Всего запросов WAF Общее количество запросов, оцененных WAF |
AzwafTotalRequests |
Count | Total (Sum) | Action , , CountryCode Mode Method PolicyName ,PolicyScope |
PT1M | Да |
Время подключения серверной части Время, затраченное на установление соединения с внутренним сервером |
BackendConnectTime |
MilliSeconds | Среднее, максимальное | Listener , , BackendServer BackendPool BackendHttpSetting |
PT1M | No |
Время отклика серверной части первого байта Интервал времени между началом установки соединения с внутренним сервером и получением первого байта заголовка ответа, что приблизительно равно времени обработки внутреннего сервера |
BackendFirstByteResponseTime |
MilliSeconds | Среднее, максимальное | Listener , , BackendServer BackendPool BackendHttpSetting |
PT1M | No |
Время отклика серверной части последней байтовой части Интервал времени с начала установки подключения к внутреннему серверу до момента получения последнего байта текста ответа |
BackendLastByteResponseTime |
MilliSeconds | Среднее, максимальное | Listener , , BackendServer BackendPool BackendHttpSetting |
PT1M | No |
Состояние ответа серверной части Количество кодов HTTP-ответов, создаваемых внутренними элементами. Сюда не входят коды ответов, созданные Шлюзом приложений. |
BackendResponseStatus |
Count | Total (Sum) | BackendServer , , BackendPool BackendHttpSetting HttpStatusGroup |
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. Дополнительные сведения об этих журналах см. в статье Просмотр журналов действий для аудита действий с ресурсами.
Связанный контент
- Описание Шлюз приложений мониторинга см. в Шлюз приложений Azure монитора.
- Дополнительные сведения о мониторинге ресурсов Azure см. в статье "Мониторинг ресурсов Azure" с помощью Azure Monitor .