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

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

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

  • в журналы Azure Monitor для более сложных запросов, предупреждений и более длительного хранения (до двух лет);
  • в Центры событий Azure для пересылки за пределы Azure;
  • в службу хранилища Azure для более дешевой долгосрочной архивации.

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

Примечание

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

Период удержания

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

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

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

View Activity Log

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

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

Нажмите Загрузить как CSV-файл, чтобы загрузить события в текущем представлении.

Download Activity log

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

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

Change history list for an event

Если с событием связаны какие-либо изменения, вы увидите здесь список изменений, которые можно выбрать. Это действие открывает страницу Журнал изменений (предварительная версия) . На этой странице отображаются все изменения ресурса. Как видно в следующем примере, здесь можно не только увидеть, что изменился размер виртуальной машины, но и узнать ее размер до изменения и после изменения. Дополнительные сведения о журнале изменений см. в статье Получение данных об изменении ресурса.

Change history page showing differences

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

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

Отправка в рабочую область Log Analytics

Отправьте журнал действий в рабочую область Log Analytics, чтобы включить функции журналов Azure Monitor, такие как:

  • Сопоставление данных журнала действий с другими данными мониторинга, собранными Azure Monitor.
  • Объединение записей журнала из нескольких подписок Azure и клиентов в единое место для совместного анализа.
  • Использование запросов журналов для сложного анализа и получения подробных сведений о записях журнала действий.
  • Использование оповещений журнала с записями действий, позволяющих создавать более сложные алгоритмы оповещений.
  • Храните записи журнала действий дольше срока хранения журнала действий.
  • Отсутствие платы за прием данных журнала действий, хранящихся в рабочей области Log Analytics.
  • Отсутствие платы за хранение данных журнала действий в рабочей области Log Analytics за первые 90 дней.

Выберите Экспортировать журнал действий.

Export activity logs

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

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

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

AzureActivity
| summarize count() by CategoryValue

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

AzureActivity
| where CategoryValue == "Administrative"

Отправка в Центры событий Azure

Отправьте журнал действий в Центры событий Azure, чтобы передать записи за пределы Azure, например в сторонние SIEM или другие решения для анализа журналов. События журнала действий из Центров событий потребляются в формате JSON с элементом records, содержащим записи в каждой полезной нагрузке. Схема зависит от категории и описана в статье Схема для учетной записи хранения и Центров событий.

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

{
    "records": [
        {
            "time": "2019-01-21T22:14:26.9792776Z",
            "resourceId": "/subscriptions/s1/resourceGroups/MSSupportGroup/providers/microsoft.support/supporttickets/115012112305841",
            "operationName": "microsoft.support/supporttickets/write",
            "category": "Write",
            "resultType": "Success",
            "resultSignature": "Succeeded.Created",
            "durationMs": 2826,
            "callerIpAddress": "111.111.111.11",
            "correlationId": "c776f9f4-36e5-4e0e-809b-c9b3c3fb62a8",
            "identity": {
                "authorization": {
                    "scope": "/subscriptions/s1/resourceGroups/MSSupportGroup/providers/microsoft.support/supporttickets/115012112305841",
                    "action": "microsoft.support/supporttickets/write",
                    "evidence": {
                        "role": "Subscription Admin"
                    }
                },
                "claims": {
                    "aud": "https://management.core.windows.net/",
                    "iss": "https://sts.windows.net/72f988bf-86f1-41af-91ab-2d7cd011db47/",
                    "iat": "1421876371",
                    "nbf": "1421876371",
                    "exp": "1421880271",
                    "ver": "1.0",
                    "http://schemas.microsoft.com/identity/claims/tenantid": "00000000-0000-0000-0000-000000000000",
                    "http://schemas.microsoft.com/claims/authnmethodsreferences": "pwd",
                    "http://schemas.microsoft.com/identity/claims/objectidentifier": "2468adf0-8211-44e3-95xq-85137af64708",
                    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "admin@contoso.com",
                    "puid": "20030000801A118C",
                    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "9vckmEGF7zDKk1YzIY8k0t1_EAPaXoeHyPRn6f413zM",
                    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname": "John",
                    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname": "Smith",
                    "name": "John Smith",
                    "groups": "cacfe77c-e058-4712-83qw-f9b08849fd60,7f71d11d-4c41-4b23-99d2-d32ce7aa621c,31522864-0578-4ea0-9gdc-e66cc564d18c",
                    "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": " admin@contoso.com",
                    "appid": "c44b4083-3bq0-49c1-b47d-974e53cbdf3c",
                    "appidacr": "2",
                    "http://schemas.microsoft.com/identity/claims/scope": "user_impersonation",
                    "http://schemas.microsoft.com/claims/authnclassreference": "1"
                }
            },
            "level": "Information",
            "location": "global",
            "properties": {
                "statusCode": "Created",
                "serviceRequestId": "50d5cddb-8ca0-47ad-9b80-6cde2207f97c"
            }
        }
    ]
}

Отправка в службу хранилища Azure

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

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

insights-activity-logs/resourceId=/SUBSCRIPTIONS/{subscription ID}/y={four-digit numeric year}/m={two-digit numeric month}/d={two-digit numeric day}/h={two-digit 24-hour clock hour}/m=00/PT1H.json

Например, определенный BLOB-объект может иметь такое имя:

insights-logs-networksecuritygrouprulecounter/resourceId=/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/y=2020/m=06/d=08/h=18/m=00/PT1H.json

Каждый большой двоичный объект PT1H.json содержит большой двоичный объект JSON с событиями, произошедшими в течение часа, указанного в URL-адресе этого объекта (например, h=12). В течение заданного часа события добавляются в файл PT1H.json по мере возникновения. Значение минуты (m=00) всегда равно 00, так как события журнала разбиваются на отдельные BLOB-объекты каждый час.

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

{ "time": "2020-06-12T13:07:46.766Z", "resourceId": "/SUBSCRIPTIONS/00000000-0000-0000-0000-000000000000/RESOURCEGROUPS/MY-RESOURCE-GROUP/PROVIDERS/MICROSOFT.COMPUTE/VIRTUALMACHINES/MV-VM-01", "correlationId": "0f0cb6b4-804b-4129-b893-70aeeb63997e", "operationName": "Microsoft.Resourcehealth/healthevent/Updated/action", "level": "Information", "resultType": "Updated", "category": "ResourceHealth", "properties": {"eventCategory":"ResourceHealth","eventProperties":{"title":"This virtual machine is starting as requested by an authorized user or process. It will be online shortly.","details":"VirtualMachineStartInitiatedByControlPlane","currentHealthStatus":"Unknown","previousHealthStatus":"Unknown","type":"Downtime","cause":"UserInitiated"}}}

Устаревшие методы сбора журнала

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

Профили журнала

Профили журнала — это устаревший метод отправки журнала действий в службу хранилища Azure или Центры событий Azure. Используйте следующую процедуру, чтобы продолжить работу с профилем журнала или отключить его при подготовке к миграции в параметр диагностики.

  1. В меню Azure Monitor на портале Azure выберите пункт Журнал действий.

  2. Выберите Экспортировать журнал действий.

    Export activity logs

  3. Щелкните сиреневый баннер для перехода к устаревшему интерфейсу.

    Legacy experience

Настройка профиля журнала с использованием PowerShell

Если профиль журнала уже существует, сначала удалите его, а затем создайте новый.

  1. Используйте Get-AzLogProfile, чтобы проверить, существует ли профиль журнала. Если профиль журнала существует, найдите свойство name.

  2. Удалите журнал профиля с помощью Remove-AzLogProfile, используя значение свойства name.

    # For example, if the log profile name is 'default'
    Remove-AzLogProfile -Name "default"
    
  3. Создайте профиль журнала с помощью Add-AzLogProfile:

    Add-AzLogProfile -Name my_log_profile -StorageAccountId /subscriptions/s1/resourceGroups/myrg1/providers/Microsoft.Storage/storageAccounts/my_storage -serviceBusRuleId /subscriptions/s1/resourceGroups/Default-ServiceBus-EastUS/providers/Microsoft.ServiceBus/namespaces/mytestSB/authorizationrules/RootManageSharedAccessKey -Location global,westus,eastus -RetentionInDays 90 -Category Write,Delete,Action
    
    Свойство Обязательно Описание
    name Да Имя профиля журнала.
    StorageAccountId Нет Идентификатор ресурса для учетной записи хранения, в которую будет сохранен журнал действий.
    serviceBusRuleId Нет Идентификатор правила служебной шины для пространства имен служебной шины, в котором вы сможете создать концентраторы событий. Это строка в формате: {service bus resource ID}/authorizationrules/{key name}.
    Расположение Да Разделенный запятыми список регионов, для которых будут собираться события журнала действий.
    RetentionInDays Да Количество дней, в течение которых будут храниться события в учетной записи хранения: от 1 до 365. Нулевое значение означает, что журналы хранятся неограниченно долго.
    Категория Нет Разделенный запятыми список категорий событий, которые будут собираться. Возможные значения: Write, Delete и Action.

Пример сценария

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

# Settings needed for the new log profile
$logProfileName = "default"
$locations = (Get-AzLocation).Location
$locations += "global"
$subscriptionId = "<your Azure subscription Id>"
$resourceGroupName = "<resource group name your Event Hub belongs to>"
$eventHubNamespace = "<Event Hub namespace>"

# Build the service bus rule Id from the settings above
$serviceBusRuleId = "/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.EventHub/namespaces/$eventHubNamespace/authorizationrules/RootManageSharedAccessKey"

# Build the Storage Account Id from the settings above
$storageAccountId = "/subscriptions/$subscriptionId/resourceGroups/$resourceGroupName/providers/Microsoft.Storage/storageAccounts/$storageAccountName"

Add-AzLogProfile -Name $logProfileName -Location $locations -StorageAccountId  $storageAccountId -ServiceBusRuleId $serviceBusRuleId

Настройка профиля журнала с использованием Azure CLI

Если профиль журнала уже существует, сначала удалите его, а затем создайте новый.

  1. Используйте az monitor log-profiles list, чтобы проверить, существует ли профиль журнала.

  2. Удалите журнал профиля с помощью az monitor log-profiles delete --name "<log profile name>, используя значение свойства name.

  3. Создайте профиль журнала с помощью следующего az monitor log-profiles create:

    az monitor log-profiles create --name "default" --location null --locations "global" "eastus" "westus" --categories "Delete" "Write" "Action"  --enabled false --days 0 --service-bus-rule-id "/subscriptions/<YOUR SUBSCRIPTION ID>/resourceGroups/<RESOURCE GROUP NAME>/providers/Microsoft.EventHub/namespaces/<Event Hub NAME SPACE>/authorizationrules/RootManageSharedAccessKey"
    
    Свойство Обязательно Описание
    name Да Имя профиля журнала.
    storage-account-id Да Идентификатор ресурса для учетной записи хранения, в которую будут сохранены журналы действий.
    Расположения Да Разделенный пробелами список регионов, для которых будут собираться события журнала действий. Вы можете просмотреть список всех регионов для своей подписки с помощью az account list-locations --query [].name.
    days Да Количество дней, в течение которых будут храниться события: от 1 до 365. Нулевое значение означает, что журналы будут храниться неограниченно долго, то есть всегда. Если значение равно нулю, то для параметра "enabled" нужно установить значение "false".
    Включено Да Верно или неверно. Позволяет включить или отключить политику хранения. Если установлено значение True, параметр дней должен иметь значение больше 0.
    Категории Да Разделенный пробелами список категорий событий, которые будут собираться. Возможные значения: Write, Delete или Action.

Рабочая область Log Analytics

Устаревший метод отправки журнала действий в рабочую область Log Analytics подключается к журналу в конфигурации рабочей области.

  1. В меню Рабочие области Log Analytics на портале Azure выберите рабочую область для сбора журнала действий.

  2. В разделе Источники данных рабочей области в меню рабочей области выберите Журнал действий Azure.

  3. Выберите подписку, которую нужно подключить.

    Screenshot shows Log Analytics workspace with an Azure Activity log selected.

  4. Нажмите Подключить, чтобы добавить журнал действий в подписке к выбранной рабочей области. Если подписка уже подключена к другой рабочей области, сначала нажмите Отключить, чтобы деактивировать ее.

    Connect Workspaces

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

Изменения структуры данных

Интерфейс экспорта журналов действий отправляет те же данные, что и устаревший метод, используемый для отправки журнала действий, с некоторыми изменениями в структуре таблицы AzureActivity.

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

JSON журнала действий Столбец имени Log Analytics
(устаревшая версия)
Имя нового столбца Log Analytics Примечания
категория Категория CategoryValue
status

Значения (успешно, начало, принять, сбой)
ActivityStatus

Значения, совпадающие с JSON
ActivityStatusValue

Значения, изменяющиеся на (успешно, начато, принято, произошел сбой)
Допустимые значения изменяются, как показано
subStatus ActivitySubstatus ActivitySubstatusValue
operationName OperationName OperationNameValue REST API локализует значение имени операции. В пользовательском интерфейсе Log Analytics всегда отображается английский язык.
resourceProviderName ResourceProvider ResourceProviderValue

Важно!

В некоторых случаях значения в этих столбцах могут быть заданы в верхнем регистре. Если запрос включает эти столбцы, следует использовать оператор =~ для сравнения без учета регистра.

В AzureActivity в обновленной схеме добавлены следующие столбцы:

  • Authorization_d
  • Claims_d
  • Properties_d

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

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

Прежде чем использовать аналитику журнала действий, необходимо включить отправку журналов в рабочую область Log Analytics.

Как работает аналитика журналов действий?

Журналы действий, отправляемые в рабочую область Log Analytics, хранятся в таблице с именем AzureActivity.

Аналитика журналов действий — это курируемая книга Log Analytics с панелями мониторинга для визуализации данных в таблице AzureActivity. Например, можно узнать, какие администраторы удалили, обновили или создали ресурсы, а также какие действия завершились успехом или неудачей.

A screenshot showing Azure Activity logs insights dashboards.

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

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

  1. На портале Azure выберите Монитор>Книги.

  2. Выберите Аналитика журналов действий в разделе Аналитика.

    A screenshot showing how to locate and open the Activity logs insights workbook on a scale level.

  3. В верхней части страницы Аналитика журналов действий выберите:

    1. одну или несколько подписок из раскрывающегося списка Subscriptions;
    2. ресурсы и группы ресурсов из раскрывающегося списка CurrentResource;
    3. диапазон времени, для которого необходимо просмотреть данные, из раскрывающегося списка TimeRange.

Просмотр аналитики журналов действий в любом ресурсе Azure

Примечание

  • Сейчас ресурсы Applications Insights не поддерживаются для этой книги.

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

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

  2. Выберите Аналитика журналов действий в разделе Аналитика журналов действий.

    A screenshot showing how to locate and open the Activity logs insights workbook on a resource level.

  3. В верхней части страницы Аналитика журналов действий выберите:

    1. диапазон времени, для которого необходимо просмотреть данные, из раскрывающегося списка TimeRange.
    • В разделе Записи журналов действий Azure отображается количество записей журнала действий в каждой категории журнала действий.

      Screenshot of Azure Activity Logs by Category Value

    • В разделе Журналы действий по состояниям отображается количество записей журнала действий в каждом состоянии.

      Screenshot of Azure Activity Logs by Status

    • На уровне подписки и группы ресурсов в разделах Журналы действий по ресурсам и Журналы действий по поставщикам ресурсов отображается количество записей журнала действий для каждого ресурса и поставщика ресурсов.

      Screenshot of Azure Activity Logs by Resource

Дальнейшие действия