Журналы диагностики для Шлюза приложений

Журналы шлюза приложений предоставляют подробные сведения о событиях, связанных с ресурсом и его операциями. Эти журналы доступны для таких событий, как Access, Activity, Firewall и Performance (только для версии 1). Подробные сведения в журналах полезны при устранении неполадок или создании панели мониторинга аналитики путем использования этих необработанных данных.

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

Типы журналов ресурсов

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

Примечание.

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

Расположения хранилища для журналов диагностики

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

Рабочая область Log Analytics (рекомендуется) Рабочая область Log Analytics — это рекомендуемое назначение для сбора и анализа журналов ресурсов шлюза приложений. Он включает:

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

Типы коллекций в Log Analytics

Диагностика Azure (устаревшая версия): При выборе системы диагностики Azure все журналы записываются в общую таблицу AzureDiagnostics. Так как эта таблица используется во многих типах ресурсов, каждая служба записывает собственные настраиваемые поля. Если число настраиваемых полей превышает 500, дополнительные поля хранятся в динамическом свойстве AdditionalFields в виде пар "ключ-значение". Это может привести к снижению возможности обнаружения и более сложных запросов.

Для конкретного ресурса (рекомендуется): При выборе конкретного ресурса журналы записываются в выделенные таблицы для каждой категории. Предоставляется режим, зависящий от ресурса:

  • Упрощенное выполнение запросов с прогнозируемыми схемами
  • Улучшена возможность обнаружения полей и структур таблиц
  • Повышение производительности из-за снижения задержки приема и ускорения выполнения запросов
  • Детализированный RBAC путем назначения доступа на уровне таблицы

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

Выбор типа коллекции в Log Analytics

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

  • Для конкретного ресурса (по умолчанию)
  • Система диагностики Azure

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

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

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

Пример 1. Выборочная проекция столбцов. Представьте, что у вас есть журналы доступа шлюза приложений с 20 столбцами, но вы заинтересованы в анализе данных только из шести конкретных столбцов. С помощью преобразования рабочего пространства можно проецировать эти шесть столбцов в рабочую область, эффективно исключая остальные 14 столбцов. Несмотря на то что исходные данные из этих исключенных столбцов не будут храниться, пустые заполнители для них по-прежнему отображаются на панели "Журналы". Этот подход оптимизирует хранение и гарантирует, что для анализа хранятся только соответствующие данные.

Примечание.

В панели "Журналы" при выборе опции Try New Log Analytics можно получить больший контроль над столбцами, отображаемыми в пользовательском интерфейсе.

Пример 2. Фокусирование на определенных кодах состояния: при анализе журналов доступа вместо обработки всех записей журнала можно написать запрос, чтобы получить только строки с определенными кодами состояния HTTP (например, 4xx и 5xx). Так как большинство запросов в идеале попадают под категории 2xx и 3xx (представляющих успешные ответы), фокус на коды проблемных состояний сужает набор данных. Этот целевой подход позволяет извлекать наиболее релевантную и действимую информацию, что делает ее полезной и экономичной.

Рекомендуемая стратегия перехода из диагностики Azure в определенную таблицу ресурсов:

  1. Оценка текущего хранения данных. Определите длительность, в течение которой данные хранятся в таблице диагностика Azure (например, предположим, что таблица диагностика сохраняет данные в течение 15 дней).
  2. Установите политику хранения данных для конкретного ресурса. Реализуйте новый параметр диагностики с таблицей, специфичной для ресурса.
  3. Параллельный сбор данных: в течение временного периода данные собираются одновременно как в Azure Diagnostics, так и в настройках, относящихся к ресурсу.
  4. Подтвердите точность данных: убедитесь, что сбор данных является точным и согласованным в обоих параметрах.
  5. Удалите параметр диагностика Azure: удалите параметр диагностики Azure, чтобы предотвратить повторную сбор данных.

Другие расположения хранилища:

  • учетная запись службы хранилища Azure: Учетные записи хранения лучше всего использовать для журналов, если они хранятся длительное время и проверяются, когда это необходимо.
  • Центры событий Azure. Центры событий — отличный вариант интеграции с другими средствами управления сведениями о безопасности и событиями (SIEM) для получения оповещений о ресурсах.
  • Интеграция партнеров Azure Monitor.

Узнайте больше о местах назначения диагностических параметров Azure Monitor.

Включение ведения журнала с помощью PowerShell

Ведение журнала действий автоматически включается для каждого ресурса Resource Manager. Нужно включить ведение журналов доступа и производительности, чтобы начать сбор связанных данных. Чтобы включить ведение журнала, выполните следующие действия:

  1. Отметьте ИД ресурса учетной записи хранения, где сохраняются данные журнала. Это значение имеет форму: /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Storage/storageAccounts/<storageAccountName>. Можно использовать любую учетную запись хранения в подписке. Получить эти сведения можно на портале Azure.

    Снимок экрана: конечные точки учетной записи хранения.

  2. Запишите идентификатор ресурса вашего шлюза приложений, для которого уже включено ведение журнала. Это значение имеет форму: /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/applicationGateways/<applicationGatewayName>. Получить эти сведения можно на портале.

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

  3. Включите ведение журнала диагностики с помощью следующего командлета PowerShell:

    Set-AzDiagnosticSetting  -ResourceId /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Network/applicationGateways/<applicationGatewayName> -StorageAccountId /subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Storage/storageAccounts/<storageAccountName> -Enabled $true
    

Совет

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

Включите ведение журнала через портал Azure

  1. На портале Azure найдите нужный ресурс и выберите Параметры диагностики.

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

    • журнал доступа;
    • Журнал производительности (доступен только для SKU v1)
    • журнал брандмауэра.
  2. Чтобы начать сбор данных, нажмите Включить диагностику.

    Снимок экрана: включение диагностики.

  3. На странице Параметры диагностики представлены параметры журналов диагностики. В этом примере для хранения журналов используется Log Analytics. Вы также можете использовать концентраторы событий и аккаунт хранения для хранения журналов диагностики.

    Снимок экрана: запуск процесса настройки.

  4. Введите имя для параметров, подтвердите их и нажмите Сохранить.

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

Просмотр и анализ журналов доступа, производительности и брандмауэра

Журналы Azure Monitor могут собирать файлы счетчиков и журналов событий из вашей учетной записи хранилища объектов Blob. Дополнительные сведения см. в разделе "Анализ данных мониторинга".

Вы также можете подключиться к учетной записи хранения и извлечь записи журнала JSON для журналов доступа и производительности. После скачивания JSON-файлов их можно преобразовать в формат CSV и просматривать в Excel, Power BI или другом средстве визуализации данных.

Совет

Если вы знакомы с Visual Studio и основными понятиями изменения значений констант и переменных в C#, то можете использовать инструменты преобразования журналов, доступные на сайте GitHub.

Следующие шаги