Enviar dados do log de atividades do Azure Monitor

O log de atividades do Azure Monitor é um log de plataforma que fornece informações sobre eventos no nível de assinatura. O registo de atividades inclui informações como quando um recurso é modificado ou uma máquina virtual é iniciada. Pode ver o registo de atividades no portal do Azure ou obter as entradas com o PowerShell e a CLI do Azure. Este artigo apresenta informações sobre como ver o registo de atividades e enviá-lo para diferentes destinos.

Para obter mais funcionalidades, crie uma configuração de diagnóstico para enviar o log de atividades para um ou mais desses locais pelos seguintes motivos:

Para obter detalhes sobre como criar uma configuração de diagnóstico, consulte Criar configurações de diagnóstico para enviar logs e métricas da plataforma para destinos diferentes.

Nota

  • As entradas no Registo de Atividades são geradas pelo sistema e não podem ser alteradas ou eliminadas.
  • As entradas no Log de Atividades estão representando alterações no plano de controle como uma reinicialização de máquina virtual, quaisquer entradas não relacionadas devem ser gravadas nos Logs de Recursos do Azure
  • As entradas no Registo de Atividades são normalmente o resultado de alterações (operações de criação, atualização ou eliminação) ou de uma ação que tenha sido iniciada. As operações focadas na leitura de detalhes de um recurso normalmente não são capturadas.

Enviar para a área de trabalho do Log Analytics

Envie o log de atividades para um espaço de trabalho do Log Analytics para habilitar o recurso Azure Monitor Logs , onde você:

  • Correlacione os dados do log de atividades com outros dados de monitoramento coletados pelo Azure Monitor.
  • Consolide entradas de log de várias assinaturas e locatários do Azure em um único local para análise em conjunto.
  • Use consultas de log para executar análises complexas e obter insights profundos sobre entradas de log de atividades.
  • Use alertas de pesquisa de log com entradas de atividade para uma lógica de alerta mais complexa.
  • Armazene as entradas do log de atividades por mais tempo do que o período de retenção do log de atividades.
  • Não incorra em nenhuma ingestão de dados ou taxas de retenção para dados de log de atividades armazenados em um espaço de trabalho do Log Analytics.
  • O período de retenção padrão no Log Analytics é de 90 dias

Selecione Exportar registros de atividades para enviar o registro de atividades para um espaço de trabalho do Log Analytics.

Screenshot that shows exporting activity logs.

Você pode enviar o registro de atividades de qualquer assinatura para até cinco espaços de trabalho.

Os dados do log de atividades em um espaço de trabalho do Log Analytics são armazenados em uma tabela chamada AzureActivity que você pode recuperar com uma consulta de log no Log Analytics. A estrutura desta tabela varia dependendo da categoria da entrada de log. Para obter uma descrição das propriedades da tabela, consulte a referência de dados do Azure Monitor.

Por exemplo, para exibir uma contagem de registros de log de atividades para cada categoria, use a seguinte consulta:

AzureActivity
| summarize count() by CategoryValue

Para recuperar todos os registros na categoria administrativa, use a seguinte consulta:

AzureActivity
| where CategoryValue == "Administrative"

Importante

Em alguns cenários, é possível que os valores em campos de AzureActivity possam ter invólucros diferentes de valores equivalentes. Tenha cuidado ao consultar dados no AzureActivity para usar operadores que não diferenciam maiúsculas de minúsculas para comparações de cadeia de caracteres ou use uma função escalar para forçar um campo a um invólucro uniforme antes de qualquer comparação. Por exemplo, use a função tolower() em um campo para forçá-lo a ser sempre minúsculo ou o operador =~ ao executar uma comparação de cadeia de caracteres.

Enviar para o Hubs de Eventos do Azure

Envie o log de atividades para os Hubs de Eventos do Azure para enviar entradas fora do Azure, por exemplo, para um SIEM de terceiros ou outras soluções de análise de log. Os eventos do log de atividades dos hubs de eventos são consumidos no formato JSON com um records elemento que contém os registros em cada carga útil. O esquema depende da categoria e é descrito no esquema de eventos do log de atividades do Azure.

Os seguintes dados de saída de exemplo são de hubs de eventos para um log de atividades:

{
    "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"
            }
        }
    ]
}

Enviar para o Armazenamento do Azure

Envie o log de atividades para uma conta de Armazenamento do Azure se quiser reter seus dados de log por mais de 90 dias para auditoria, análise estática ou backup. Se for necessário reter seus eventos por 90 dias ou menos, não será necessário configurar o arquivamento em uma conta de armazenamento. Os eventos do log de atividades são mantidos na plataforma Azure por 90 dias.

Quando você envia o log de atividades para o Azure, um contêiner de armazenamento é criado na conta de armazenamento assim que ocorre um evento. Os blobs no contêiner usam a seguinte convenção de nomenclatura:

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

Por exemplo, um blob específico pode ter um nome semelhante a:

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

Cada blob PT1H.json contém um objeto JSON com eventos de arquivos de log que foram recebidos durante a hora especificada na URL do blob. Durante a hora presente, os eventos são anexados ao arquivo PT1H.json à medida que são recebidos, independentemente de quando foram gerados. O valor de minuto na URL m=00 é sempre 00 como blobs são criados por hora.

Cada evento é armazenado no arquivo PT1H.json com o seguinte formato. Esse formato usa um esquema de nível superior comum, mas é exclusivo para cada categoria, conforme descrito no esquema do log de atividades.

{ "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"}}}

Outros métodos para recuperar eventos de log de atividades

Você também pode acessar eventos de log de atividades usando os seguintes métodos:

Métodos de coleta herdados

Nota

  • A solução de logs de atividade do Azure foi usada para encaminhar logs de atividade para o Azure Log Analytics. Esta solução será desativada no dia 15 de setembro de 2026 e será automaticamente convertida para as configurações de diagnóstico.

Se você estiver coletando logs de atividades usando o método de coleta herdado, recomendamos exportar logs de atividades para o espaço de trabalho do Log Analytics e desabilitar a coleção herdada usando a API Data Sources - Delete da seguinte maneira:

  1. Liste todas as fontes de dados conectadas ao espaço de trabalho usando a API Fontes de Dados - Listar por Espaço de Trabalho e filtre os logs de atividades definindo kind eq 'AzureActivityLog'.

    Screenshot showing the configuration of the Data Sources - List By Workspace API.

  2. Copie o nome da conexão que você deseja desabilitar da resposta da API.

    Screenshot showing the connection information you need to copy from the output of the Data Sources - List By Workspace API.

  3. Use a API Data Sources - Delete para parar de coletar logs de atividade para o recurso específico.

    Screenshot of the configuration of the Data Sources - Delete API.

Gerir perfis de registos legados

Os perfis de log são o método herdado para enviar o log de atividades para hubs de armazenamento ou eventos. Se você estiver usando esse método, considere a transição para configurações de diagnóstico, que fornecem melhor funcionalidade e consistência com os logs de recursos.

Se já existir um perfil de log, primeiro você deve remover o perfil de log existente e, em seguida, criar um novo.

  1. Use Get-AzLogProfile para identificar se existe um perfil de log. Se existir um perfil de log, anote a Name propriedade.

  2. Use Remove-AzLogProfile para remover o perfil de log usando o valor da Name propriedade.

    # For example, if the log profile name is 'default'
    Remove-AzLogProfile -Name "default"
    
  3. Use Add-AzLogProfile para criar um novo perfil de log:

    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
    
    Property Necessário Description
    Name Sim Nome do seu perfil de registo.
    StorageAccountId Não ID do recurso da conta de armazenamento onde o log de atividades deve ser salvo.
    serviceBusRuleId Não ID da Regra do Barramento de Serviço para o namespace do Barramento de Serviço onde você deseja que os hubs de eventos sejam criados. Esta cadeia de caracteres tem o formato {service bus resource ID}/authorizationrules/{key name}.
    Localização Sim Lista separada por vírgulas de regiões para as quais você deseja coletar eventos de log de atividades.
    RetentionInDays Sim Número de dias durante os quais os eventos devem ser retidos na conta de armazenamento, de 1 a 365. Um valor zero armazena os logs indefinidamente.
    Categoria Não Lista separada por vírgulas das categorias de eventos a serem coletadas. Os valores possíveis são Write, Delete e Action.

Exemplo de script

Este script PowerShell de exemplo cria um perfil de log que grava o log de atividades em uma conta de armazenamento e em um hub de eventos.

# 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

Alterações à estrutura de dados

A experiência Exportar logs de atividade envia os mesmos dados que o método herdado usado para enviar o log de atividades com algumas alterações na estrutura da AzureActivity tabela.

As colunas na tabela a seguir foram preteridas no esquema atualizado. Eles ainda existem no AzureActivity, mas não têm dados. As substituições dessas colunas não são novas, mas contêm os mesmos dados que a coluna preterida. Eles estão em um formato diferente, portanto, talvez seja necessário modificar as consultas de log que os usam.

Log de atividades JSON Nome da coluna do Log Analytics
(mais antigo preterido)
Novo nome da coluna do Log Analytics Notas
category Categoria CategoryValue
status

Os valores são sucesso, início, aceitação, fracasso
Status da atividade

Valores iguais a JSON
ActivityStatusValue

Os valores mudam para bem-sucedido, iniciado, aceito, reprovado
Os valores válidos mudam conforme mostrado.
subStatus Substatus da Atividade ActivitySubstatusValue
operationName OperationName OperationNameValue A API REST localiza o valor do nome da operação. A interface do usuário do Log Analytics sempre mostra inglês.
resourceProviderName ResourceProvider ResourceProviderValue

Importante

Em alguns casos, os valores nessas colunas podem ser todos maiúsculos. Se você tiver uma consulta que inclua essas colunas, use o operador =~ para fazer uma comparação que não diferencia maiúsculas de minúsculas.

As seguintes colunas foram adicionadas ao AzureActivity esquema atualizado:

  • Authorization_d
  • Claims_d
  • Properties_d

Próximos passos

Saiba mais sobre: