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

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

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

Подсказка

Если ошибка операции развертывания направляет вас в эту статью, см. статью "Устранение распространенных ошибок развертывания Azure".

Записи журнала действий

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

Записи журнала действий обычно доступны для анализа и оповещения в течение 3–20 минут после возникновения события. Описание категорий журналов действий см. в разделе Azure схема событий журнала действий.

Период хранения

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

Просмотр и получение журнала действий

Просмотр событий журнала действий для подписки, группы ресурсов или отдельного ресурса. Используйте портал Azure или программным способом запрашивайте их с помощью REST API Activity Log REST API.

Портал Azure предоставляет вкладку Activity log из большинства меню служб. Каждая из этих областей также поддерживает программный доступ с помощью REST или с помощью определенных Azure CLI и Azure PowerShell команд.

Укажите интервал времени получения событий. Чтобы получить события с помощью REST API, необходимо включить $filter параметр вместе с по крайней мере начальным значением eventTimestamp . По умолчанию журнал действий сохраняет события в течение 90 дней. Убедитесь, что время начала и окончания диапазона времени входят в это 90-дневное окно.

Сценарии доступа к журналам действий

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

  • Примеры портала Azure предоставляют дополнительный контекст о том, какие события следует ожидать в этом интерфейсе.

  • В примерах Azure CLI выделены определенные команды, доступные с помощью команды az monitor activity-log list.

  • Azure PowerShell примеры демонстрируют конкретные командлеты, доступные через командлет Get-AzActivityLog.

  • Примеры REST API показывают, как извлекать события, используя необходимый параметр $filter с помощью REST API журнала действий. В примерах также показано, как явно задать время ожидания для клиента, чтобы соответствовать максимальному периоду ожидания для REST API журнала действий 75 секунд с помощью заголовкаPrefer.

    Поддерживаемые $filter шаблоны Сведения
    подписка по умолчанию с диапазоном времени $filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}'
    группа ресурсов $filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and resourceGroupName eq '{resourceGroupName}'
    конкретный ресурс $filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and resourceUri eq '{resourceURI}'
    поставщик ресурсов $filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and resourceProvider eq '{resourceProviderName}'
    Идентификатор корреляции $filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and correlationId eq '{correlationID}'

Список событий журнала активности для подписки

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

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

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

Снимок экрана: журнал действий.

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

Добавьте resourceGroupName в $filter, чтобы ограничить результаты журнала активности Azure Monitor до конкретной группы ресурсов.

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

  • Resource — элементы, которые являются частью решения Azure, например базы данных или виртуальной машины.
  • Тип ресурса — категория, к которой принадлежит ресурс, например виртуальные машины, веб-приложения или базы данных.
  • Operation — действие или команда, например создание, удаление и запись, которые влияют на ресурсы Azure Resource Manager.
  • Событие, инициированное — фильтрация событий по идентичности, инициировавшей событие.
  • Категория событий — фильтрация типов событий для определенных операций.

Возврат свойств конкретного журнала действий

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

Портал Azure не предоставляет способ ограничить свойства, возвращаемые непосредственно из событий журнала действий. Чтобы уменьшить объем просмотрированных данных, используйте параметр "Изменить столбцы " в колонке журнала действий , чтобы выбрать столбцы, отображаемые в представлении портала.

Список событий журнала действий на уровне тенанта

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

Запросы в этой области используют другой REST API, отличный от API событий журнала действий уровня подписки. Azure CLI и Azure PowerShell не предоставляют выделенные команды.

Перейдите к Monitor>Activity log на портале Azure. Измените раскрывающееся меню мероприятия и выберите Активность каталога.

Скриншот с параметром Действия каталога, выбранным во вкладке журнала действий на портале Azure.

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

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

Чтобы просмотреть события журнала действий на уровне группы управления на портале Azure, перейдите к группам Management group> выберите группу управления >Activity log.

Скриншот, показывающий секцию Журнал действий для группы управления в Портале Azure.

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

Параметр Описание
{subscriptionId} Идентификатор подписки Azure.
{resourceGroupName} Имя группы ресурсов.
{managementGroupId} Идентификатор группы управления.
eventTimestamp ge / le Начало и конец диапазона времени в формате ISO 8601. Дата начала не может превышать 90 дней с текущей даты, если срок хранения не настроен на более длительные периоды.

Просмотр журнала изменений

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

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

Если какие-либо изменения связаны с событием, на портале отображается список изменений, доступный для выбора. При выборе изменения откроется страница журнала изменений. На этой странице отображаются изменения ресурса.

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

Снимок экрана: страница журнала изменений с различиями.

Инсайты журнала действий

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

Чтобы включить анализ журнала действий, экспортируйте журнал действий в рабочую область Log Analytics, как описано в Export activity log. Этот процесс отправляет события в таблицу AzureActivity, которую использует аналитика журнала действий.

Снимок экрана, показывающий информационные панели журнала активности.

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

Снимок экрана, на котором показано, как найти и открыть книгу

Для отдельного ресурса выберите «Аналитика журналов действий» из раздела Рабочие книги в меню ресурса.

Снимок экрана, на котором показано, как найти и открыть книгу

Экспорт журнала действий

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

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

На портале Azure выберите журнал Activity log в меню Azure Monitor и выберите Export Activity Logs. Дополнительные сведения и другие методы для создания параметров диагностики см. в разделе "Параметры диагностики" в Azure Monitor. Убедитесь, что вы отключите любую устаревшую конфигурацию для журнала действий.

Скриншот, на котором отображается меню Azure Monitor с выбранным

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

Замечание

Устаревший метод экспорта журнала действий — это профили логов. См. устаревшие методы сбора.

Отправьте журнал действий в рабочую область Log Analytics для следующих функций:

Плата за прием данных для журналов действий не взимается. Плата за хранение журналов действий применяется только к периоду, истекшему за период хранения по умолчанию 90 дней. Срок хранения можно увеличить до 12 лет.

Данные журнала действий в рабочей области Log Analytics хранятся в таблице с именем AzureActivity. Структура этой таблицы зависит от категории записи журнала.

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

AzureActivity
| summarize count() by CategoryValue

Чтобы получить все записи в административной категории, используйте нижеуказанный запрос.

AzureActivity
| where CategoryValue == "Administrative"

Это важно

В некоторых сценариях значения в полях AzureActivity могут отличаться от эквивалентных значений. При запросе данных в AzureActivity, используйте регистронезависимые операторы для сравнения строк или примените скалярную функцию, чтобы привести поле к единому регистру перед любыми сравнениями. Например, используйте функцию tolower() в поле, чтобы принудить ее всегда быть строчным или оператором =~ при выполнении сравнения строк.

Экспорт журналов действий группы управления

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

Группа управления также собирает множество одинаковых событий, что и все подписки в ней. Если подписка и группа управления имеют параметры диагностики, вы получите повторяющиеся события. Azure Resource Manager включает свойство иерархии при написании событий, но это не обязательное поле. Поставщики ресурсов за пределами Azure Resource Manager не размещают данные в нем, поэтому их события не передаются по иерархии. Из-за этого получение повторяющихся событий лучше, чем отсутствующие события.

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

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

AzureActivity
| extend Hash = hash(dynamic_to_json(pack_all()))
| summarize arg_max(TimeGenerated, *) by Hash

Экспорт журнала действий в CSV

Выберите "Скачать как CSV ", чтобы экспортировать журнал действий в CSV-файл на портале Azure.

Снимок экрана: кнопка

Это важно

Экспорт большого количества записей журнала может занять много времени. Чтобы повысить производительность, уменьшите диапазон времени экспорта. На портале Azure задайте параметр Timespan .

Вы также можете экспортировать журнал действий в CSV-файл с помощью PowerShell или Azure CLI, как показано в следующих примерах.

az monitor activity-log list --start-time "2024-03-01T00:00:00Z" --end-time "2024-03-15T23:59:59Z" --max-items 1000 > activitylog.json

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

# Parameters
$subscriptionId = "Subscription ID here"  # Replace with your subscription ID
$startTime = [datetime]"2025-05-08T00:00:00" # Adjust as needed
$endTime = [datetime]"2025-05-08T12:00:00"  # Adjust as needed
$outputFolder = "\Logs"    # Change path as needed
 
# Ensure output folder exists
if (-not (Test-Path $outputFolder)) {
    New-Item -Path $outputFolder -ItemType Directory
}
 
# Set subscription context
Set-AzContext -SubscriptionId $subscriptionId
 
# Loop through 1-hour intervals
$currentStart = $startTime
while ($currentStart -lt $endTime) {
    $currentEnd = $currentStart.AddHours(1)
    $timestamp = $currentStart.ToString("yyyyMMdd-HHmm")
    $csvFile = Join-Path $outputFolder "ActivityLog_$timestamp.csv"
 
    Write-Host "Fetching logs from $currentStart to $currentEnd..."
    Get-AzActivityLog -StartTime $currentStart -EndTime $currentEnd |
        Export-Csv -Path $csvFile -NoTypeInformation
 
    $currentStart = $currentEnd
}
 
Write-Host "Export completed. Files saved to $outputFolder."

Определение создания ресурсов

Используйте журнал действий, чтобы узнать, когда система создала ресурс и кто его создал. Журнал действий — это единственное место, где сохраняется информация о создателе ресурса. Так как журнал действий сохраняет данные только в течение 90 дней по умолчанию, необходимо экспортировать журналы в расположение, которое позволяет продлить срок хранения, например рабочую область Log Analytics. Затем найдите создателя ресурса, запрашивая таблицу AzureActivity . Данные хранятся в течение периода хранения, указанного в периоде хранения для этой таблицы.