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


Мониторинг шлюза приложений Azure

В этой статье рассматриваются следующие вопросы:

  • Типы данных мониторинга, которые можно собирать для этой службы.
  • Способы анализа данных.

Note

Если вы уже знакомы с этой службой и (или) Azure Monitor и просто хотите знать, как анализировать данные мониторинга, см. раздел "Анализ " в конце этой статьи.

При наличии критически важных приложений и бизнес-процессов, использующих ресурсы Azure, необходимо отслеживать и получать оповещения для системы. Служба Azure Monitor собирает и агрегирует метрики и журналы из каждого компонента системы. Azure Monitor предоставляет представление о доступности, производительности и устойчивости, а также уведомляет вас о проблемах. Вы можете использовать портал Azure, PowerShell, Azure CLI, REST API или клиентские библиотеки для настройки и просмотра данных мониторинга.

Insights

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

Azure Monitor Network Insights предоставляет комплексное представление о работоспособности и метриках для всех развернутых сетевых ресурсов, включая Шлюз приложений, без каких-либо настроек. Дополнительные сведения см. в статье Azure Monitor Network Insights.

Типы ресурсов

Azure использует концепцию типов ресурсов и идентификаторов для идентификации всего в подписке. Типы ресурсов также являются частью идентификаторов ресурсов для каждого ресурса, работающего в Azure. Например, для виртуальной машины используется Microsoft.Compute/virtualMachinesодин тип ресурса. Список служб и связанных с ними типов ресурсов см. в разделе "Поставщики ресурсов".

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

Дополнительные сведения о типах ресурсов для Шлюза приложений см. в справочнике по данным мониторинга шлюза приложений.

Хранилище данных

Для Azure Monitor:

  • Данные метрик хранятся в базе данных метрик Azure Monitor.
  • Данные журнала хранятся в хранилище журналов Azure Monitor. Log Analytics — это инструмент в портале Azure, который может выполнять запросы к этому хранилищу.
  • Журнал действий Azure — это отдельное хранилище с собственным интерфейсом на портале Azure.

При необходимости можно перенаправить данные журнала метрик и действий в хранилище журналов Azure Monitor. Затем с помощью Log Analytics можно запрашивать данные и сопоставлять их с другими данными журнала.

Многие службы могут использовать параметры диагностики для отправки данных метрик и журналов в другие расположения хранилища за пределами Azure Monitor. Примеры включают службу хранилища Azure, системы партнеров, размещенные в облаке и системы партнеров, не относящиеся к Azure, использующие Центры событий.

Подробные сведения о том, как Azure Monitor хранит данные, см. на платформе данных Azure Monitor.

Для шлюза приложений режим для конкретного ресурса создает три таблицы:

Note

В настоящее время этот параметр доступен во всех общедоступных регионах.

Существующие пользователи могут продолжать использовать диагностику Azure или выбирать выделенные таблицы, переключив переключатель в параметрах диагностики на ресурс конкретный или выделенный в назначении API. Двойной режим невозможен. Данные во всех журналах могут передаваться в службу диагностики Azure или в выделенные таблицы. Однако можно использовать несколько параметров диагностики, в которых один поток данных направлен для диагностики Azure, а другой использует параметры, специфичные для ресурса, в одно и то же время.

Выбор целевой таблицы в Log Analytics: все службы Azure в конечном итоге используют таблицы, относящиеся к ресурсам. В рамках этого перехода можно выбрать таблицу диагностики или таблицу ресурса Azure в параметре диагностики с помощью переключателя. Переключатель по умолчанию имеет значение Resource specific , и в этом режиме журналы для новых выбранных категорий отправляются в выделенные таблицы в Log Analytics, а существующие потоки остаются неизменными. См. следующий пример.

Снимок экрана: идентификатор ресурса для шлюза приложений на портале.

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

Подробные инструкции по настройке преобразований рабочей области см. в руководстве по добавлению преобразования рабочей области в журналы Azure Monitor с помощью портала Azure.

Метрики платформы Azure Monitor

Azure Monitor предоставляет метрики платформы для большинства служб. Эти метрики перечислены ниже.

  • Определяется отдельно для каждого пространства имен.
  • Хранится в базе данных метрик временных рядов Azure Monitor.
  • Лёгкий и может поддерживать оповещения практически в режиме реального времени.
  • Используется для отслеживания производительности ресурса с течением времени.

Коллекция: Azure Monitor автоматически собирает метрики платформы. Настройка не требуется.

Маршрутизация: Вы также можете направлять часть метрик платформы в журналы Azure Monitor или Log Analytics, чтобы выполнять запросы к ним вместе с другими данными журнала. Проверьте параметр экспорта DS для каждой метрики, чтобы узнать, можно ли использовать параметр диагностики для маршрутизации метрик в журналы Azure Monitor или Log Analytics.

Список всех метрик, которые можно собрать для всех ресурсов в Azure Monitor, см. в статье "Поддерживаемые метрики в Azure Monitor".

Страница обзора на портале Azure для каждого шлюза приложений содержит следующие метрики:

  • Общее количество запросов
  • Сумма неудачных запросов
  • Сводка статусов ответов по HttpStatus
  • Сумма пропускной способности
  • Сумма CurrentConnections
  • Среднее число работоспособных узлов по backendPool HttpSettings
  • Среднее число неработоспособных узлов по BackendPool HttpSettings

Список доступных метрик для шлюза приложений Azure см. в справочнике по данным мониторинга шлюза приложений.

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

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

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

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

Маршрутизация: рекомендуется по умолчанию маршрутизировать журналы ресурсов в Azure Monitor Logs, чтобы иметь возможность выполнять запросы к ним вместе с другими данными журналов. Также доступны другие расположения, такие как служба хранилища Azure, Центры событий Azure и некоторые партнеры по мониторингу Майкрософт. Дополнительные сведения см. в журналах ресурсов Azure и местах назначения журналов ресурсов.

Подробные сведения о сборе, хранении и маршрутизации журналов ресурсов см. в разделе "Параметры диагностики" в Azure Monitor.

Список всех доступных категорий журналов ресурсов в Azure Monitor см. в статье "Поддерживаемые журналы ресурсов" в Azure Monitor.

Все журналы ресурсов в Azure Monitor имеют одинаковые поля заголовков, а затем поля для конкретной службы. Общая схема показана в разделе Схема журнала ресурсов Azure Monitor.

Данные в журналах Azure Monitor хранятся в таблицах, каждая из которых имеет собственный набор уникальных свойств.

Дополнительные сведения см. в справочнике по данным мониторинга шлюза приложений :

  • Список типов журналов ресурсов, собранных для шлюза приложений.
  • Список таблиц, используемых журналами Azure Monitor и запрашиваемыми Log Analytics.
  • Доступные категории журналов ресурсов, связанные таблицы Log Analytics и схемы журналов для шлюза приложений.

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

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

Сбор данных: события журнала действий автоматически создаются и собираются в отдельном хранилище для просмотра на портале Azure.

Маршрутизация. Вы можете отправлять данные журнала действий в журналы Azure Monitor, чтобы их можно было анализировать вместе с другими данными журнала. Также доступны другие расположения, такие как служба хранилища Azure, Центры событий Azure и некоторые партнеры по мониторингу Майкрософт. Дополнительные сведения о маршрутизации журнала действий см. в разделе "Обзор журнала действий Azure".

Анализ данных мониторинга

Существует множество средств для анализа данных мониторинга.

Средства Azure Monitor

Azure Monitor поддерживает следующие основные средства:

Средства, которые позволяют более сложной визуализации, включают:

  • Панели мониторинга, позволяющие объединять различные виды данных в одну панель в портале Azure.
  • Рабочие книги — это настраиваемые отчеты, которые можно создать в портале Azure. Рабочие книги могут включать текст, метрики и лог-запросы.
  • Grafana — инструмент с открытой платформой, который превосходно подходит для операционных панелей мониторинга. С помощью Grafana можно создавать панели мониторинга, содержащие данные из нескольких источников, отличных от Azure Monitor.
  • Power BI— служба бизнес-аналитики, которая предоставляет интерактивные визуализации в различных источниках данных. Вы можете настроить Power BI на автоматический импорт данных журналов из Azure Monitor, чтобы воспользоваться этими визуализациями.

Анализ журналов Access с помощью GoAccess

Мы опубликовали шаблон Resource Manager, который устанавливает и запускает популярный анализатор журналов GoAccess для журналов доступа к шлюзу приложений. GoAccess предоставляет ценную статистику трафика HTTP, такие как уникальные посетители, запрошенные файлы, узлы, операционные системы, браузеры, коды состояния HTTP и многое другое. Дополнительные сведения см. в файле Readme в папке шаблона Resource Manager в GitHub.

Инструменты экспорта Azure Monitor

Вы можете получить данные из Azure Monitor в другие средства с помощью следующих методов:

Чтобы начать работать с REST API для Azure Monitor, смотрите Пошаговое руководство по REST API для мониторинга Azure.

Запросы для Kusto

Данные мониторинга можно анализировать в хранилище журналов Azure Monitor или Log Analytics с помощью языка запросов Kusto (KQL).

Important

При выборе Logs в меню службы на портале открывается Log Analytics с областью запроса, установленной для текущей службы. Эта область означает, что запросы журналов будут включать только данные из этого типа ресурса. Если вы хотите выполнить запрос, содержащий данные из других служб Azure, выберите журналы в меню Azure Monitor . Для получения дополнительных сведений см. область запросов журнала и диапазон времени в Azure Monitor Log Analytics.

Список распространенных запросов для любой службы см. в интерфейсе запросов Log Analytics.

В следующих примерах показаны некоторые полезные запросы для шлюза приложений.

// Requests per hour 
// Count of the incoming requests on the Application Gateway. 
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess"
| summarize AggregatedValue = count() by bin(TimeGenerated, 1h), _ResourceId
| render timechart 
// Failed requests per hour 
// Count of requests to which Application Gateway responded with an error. 
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess" and httpStatus_d > 399
| summarize AggregatedValue = count() by bin(TimeGenerated, 1h), _ResourceId
| render timechart
// Top 10 Client IPs 
// Count of requests per client IP. 
AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess"
| summarize AggregatedValue = count() by clientIP_s
| top 10 by AggregatedValue
// Errors by user agent 
// Number of errors by user agent. 
// To create an alert for this query, click '+ New alert rule'
AzureDiagnostics
| where ResourceType == "APPLICATIONGATEWAYS" and OperationName == "ApplicationGatewayAccess" and httpStatus_d > 399
| summarize AggregatedValue = count() by userAgent_s, _ResourceId
| sort by AggregatedValue desc

Alerts

Оповещения Azure Monitor заранее уведомляют вас о конкретных условиях, обнаруженных в данных мониторинга. Оповещения позволяют выявлять и устранять проблемы в системе, прежде чем клиенты заметят их. Дополнительные сведения см. в оповещениях Azure Monitor.

Существует множество источников распространенных оповещений для ресурсов Azure. Примеры распространённых оповещений для ресурсов Azure см. в примерах запросов журнала оповещений. Сайт Azure Monitor Baseline Alerts (AMBA) предоставляет полуавтоматизированный метод реализации важных оповещений метрик платформы, панелей мониторинга и рекомендаций. Этот сайт относится к постоянно расширяющемуся подмножеству служб Azure, включая все службы, которые являются частью Azure Landing Zone (ALZ).

Общая схема оповещений стандартизирует обработку уведомлений системы Azure Monitor. Дополнительные сведения см. в разделе "Общая схема оповещений".

Типов оповещений

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

В следующем списке описаны типы оповещений Azure Monitor, которые можно создать:

  • Оповещения на основе метрик оценивают показатели ресурсов с регулярными интервалами. Метрики могут быть метриками платформы, пользовательскими метриками, журналами из Azure Monitor, преобразованными в метрики или метриками Application Insights. Оповещения на основе метрик также могут применять несколько условий и динамические пороговые значения.
  • Оповещения журнала позволяют пользователям использовать запрос Log Analytics для оценки журналов ресурсов с заданной частотой.
  • Оповещения журнала действий активируются при возникновении нового события журнала действий, соответствующего определенным условиям. Оповещения о состоянии ресурсов и оповещения о состоянии служб — это оповещения журнала действий, которые сообщают о состоянии ваших ресурсов и служб.

Некоторые службы Azure также поддерживают оповещения интеллектуального обнаружения, оповещения Prometheus или рекомендуемые правила генерации оповещений.

Для некоторых служб можно отслеживать масштаб, применяя одно правило генерации оповещений метрик к нескольким ресурсам одного типа, которые существуют в одном регионе Azure. Для каждого отслеживаемого ресурса отправляются отдельные уведомления. Сведения о поддерживаемых службах и облаках Azure см. в статье "Мониторинг нескольких ресурсов с помощью одного правила генерации оповещений".

Note

Если вы создаете или запускаете приложение, работающее в службе, аналитика приложений Azure Monitor может предложить дополнительные типы оповещений.

Сведения о настройке оповещений с помощью шаблонов ARM см. в статье "Настройка оповещений Azure Monitor".

Правила генерации оповещений шлюза приложений

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

Шлюз приложений версии 2

Тип оповещения Condition Description
Metric Использование единиц вычислений пересекает 75% среднего использования Единица вычислений — это мера использования вычислительных ресурсов шлюза приложений. Проверьте среднее использование единиц вычислений за последний месяц и установите оповещение, если оно пересекает 75%.
Metric Использование единиц емкости пересекает 75% пикового использования Единицы емкости представляют общее использование шлюза с точки зрения пропускной способности, вычислений и количества подключений. Проверьте максимальное использование единицы емкости за последний месяц и установите оповещение, если оно пересекает 75%.
Metric Число неработоспособных серверов превышает порог Указывает количество внутренних серверов, которые шлюз приложений не может успешно проверять. Это оповещение фиксирует проблемы в случаях, когда экземпляры шлюзов приложений не могут подключаться к серверной части. Оповещение, если это число превышает 20% емкости серверной части.
Metric Состояние ответа (4xx, 5xx) пересекает пороговое значение Если состояние ответа шлюза приложений равно 4xx или 5xx. Из-за временных проблем может возникать случайный ответ 4xx или 5xx. Чтобы определить статическое пороговое значение или использовать динамический порог для оповещения, следует наблюдать за шлюзом в рабочей среде.
Metric Неудачные запросы пересекают пороговое значение Когда метрика неудачных запросов пересекает пороговое значение. Чтобы определить статическое пороговое значение или использовать динамический порог для оповещения, следует наблюдать за шлюзом в рабочей среде.
Metric Время отклика последнего байта превышает пороговое значение Указывает интервал времени между началом установки подключения к внутреннему серверу и получением последнего байта текста ответа. Создайте оповещение, если задержка ответов серверной части больше, чем обычное пороговое значение.
Metric Общее время шлюза приложений пересекает пороговое значение Это значение является интервалом от времени, когда шлюз приложений получает первый байт HTTP-запроса до момента отправки последнего байта ответа клиенту. Следует создать оповещение, если задержка ответов серверной части больше, чем обычное пороговое значение.

Шлюз приложений версии 1

Тип оповещения Condition Description
Metric Загрузка ЦП пересекает 80% В обычных условиях использование ЦП не должно регулярно превышать 90%. Эта ситуация может привести к задержке на веб-сайтах, размещенных за шлюзом приложений, и нарушить работу клиента.
Metric Число неработоспособных серверов превышает порог Указывает количество внутренних серверов, которые шлюз приложений не может успешно проверять. Это оповещение перехватывает проблемы, из-за которых экземпляры шлюза приложений не могут подключаться к бэкэнду. Оповещение, если это число превышает 20% емкости серверной части.
Metric Состояние ответа (4xx, 5xx) пересекает пороговое значение Если состояние ответа шлюза приложений равно 4xx или 5xx. Из-за временных проблем может возникать случайный ответ 4xx или 5xx. Чтобы определить статическое пороговое значение или использовать динамический порог для оповещения, следует наблюдать за шлюзом в рабочей среде.
Metric Неудачные запросы пересекают пороговое значение Когда метрика неудачных запросов пересекает пороговое значение. Чтобы определить статическое пороговое значение или использовать динамический порог для оповещения, следует наблюдать за шлюзом в рабочей среде.

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

Если вы создаете или запускаете приложение, использующее шлюз приложений, Azure Monitor Application Insights может предложить другие типы оповещений.

Рекомендации помощника

Для некоторых служб, если во время операций ресурсов происходят критические условия или неизбежные изменения, на странице Обзор службы в портале отображается оповещение. Вы можете найти дополнительную информацию и рекомендуемые исправления для оповещения в рекомендациях Консультанта в разделе Мониторинг в меню слева. Во время обычных операций рекомендации помощника не отображаются.

Дополнительные сведения о Azure Advisor см. в разделе обзор продукта Azure Advisor.