O Azure Monitor registra operações de gerenciamento para seus recursos do Azure por meio do recurso de log de atividades. O log de atividades registra operações como criação de uma máquina virtual, alteração de uma política de acesso de cofre de chaves ou erros de implantação do Resource Manager. Essas operações de gerenciamento também são chamadas de operações do plano de controle . Use o log de atividades para examinar ou auditar essas informações ou criar um alerta para ser notificado proativamente quando ocorrer um evento.
Ao contrário do log de atividades, logs de recursos do Azure capturam operações de plano de dados executadas em um recurso. Por exemplo, essas operações incluem obter um segredo de um cofre de chaves ou fazer uma solicitação para um banco de dados. Os logs de recursos não são coletados por padrão e exigem configuração por meio de uma definição de diagnóstico.
Entradas do log de atividades
O Azure Monitor coleta entradas de log de atividades por padrão sem a configuração necessária. O sistema gera essas entradas e você não pode alterá-las ou excluí-las. As entradas normalmente resultam de alterações (criar, atualizar e excluir operações) ou de uma ação que está sendo iniciada. O log de atividades normalmente não captura operações de leitura.
As entradas do log de atividades geralmente estão disponíveis para análise e alertas dentro de 3 a 20 minutos após o evento ocorrer. Para obter uma descrição das categorias de log de atividades, consulte esquema de eventos do log de atividades do Azure.
Período de retenção
O Azure retém eventos de log de atividades por 90 dias e os exclui. Você não será cobrado pelas entradas durante esse período, independentemente do volume. Para obter mais funcionalidades, como retenção mais longa, crie uma configuração de diagnóstico e colete as entradas em outro local com base em suas necessidades. Um dos motivos mais comuns para estender o período de retenção é preservar as informações do criador de recursos, que só estão disponíveis no log de atividades.
Exibir e recuperar o log de atividades
Exibir eventos de log de atividades para uma assinatura, grupo de recursos ou um recurso individual. Use o portal do Azure ou consulte o Log de Atividade programaticamente usando a API REST.
O Portal do Azure disponibiliza a guia Log de atividades na maioria dos menus dos serviços. Cada uma dessas áreas também dá suporte ao acesso programático com REST ou por meio de comandos CLI do Azure e Azure PowerShell específicos.
Especifique um intervalo de tempo de eventos a serem recuperados. Para recuperar eventos usando a API REST, você deve incluir o $filter parâmetro junto com pelo menos um eventTimestamp valor inicial. Por padrão, o log de atividades retém eventos por 90 dias. Verifique se o início e o fim do intervalo de tempo estão dentro dessa janela de 90 dias.
Cenários de acesso ao log de atividades
As seções a seguir apresentam cenários comuns mostrando diferentes maneiras de acessar e recuperar eventos de log de atividades por meio do portal Azure, usando programaticamente CLI do Azure e Azure PowerShell ou com chamadas REST:
Os exemplos do portal do Azure fornecem contexto extra sobre o tipo de eventos que você pode esperar ver nessa visualização.
CLI do Azure exemplos realçam os comandos específicos disponíveis por meio do comando az monitor activity-log list.
Azure PowerShell exemplos realçam os cmdlets específicos disponíveis por meio do cmdlet Get-AzActivityLog.
Exemplos de API REST mostram como recuperar eventos usando o parâmetro necessário $filter com a API REST do Log de Atividades.
O exemplo Listar eventos de log de atividades de um grupo de recursos também demonstra como definir explicitamente um tempo limite para que seu cliente corresponda ao tempo limite máximo de 75 segundos da API REST do log de atividades, usando o Prefercabeçalho.
Padrões Suportados $filter |
Detalhes |
| assinatura padrão com um intervalo de tempo |
$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' |
| grupo de recursos |
$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and resourceGroupName eq '{resourceGroupName}' |
| recurso específico |
$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and resourceUri eq '{resourceURI}' |
| provedor de recursos |
$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and resourceProvider eq '{resourceProviderName}' |
| ID de correlação |
$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and correlationId eq '{correlationID}' |
Listar eventos do log de atividades para uma assinatura
Os eventos do nível de assinatura capturam eventos criados diretamente pelos provedores de recursos e constituem o escopo padrão para listar eventos do log de atividades. Eventos no nível do locatário e no nível do grupo de gerenciamento capturam apenas eventos do Azure Resource Manager nessas hierarquias. Esses escopos de nível superior não incluem eventos gerados diretamente por provedores de recursos fora das operações de Azure Resource Manager.
O exemplo a seguir recupera eventos de log de atividades para uma assinatura durante um intervalo de tempo específico.
O menu do qual você abre o log de atividades determina seu filtro inicial. Se você abri-lo no menu Monitor , o único filtro selecionado por padrão será a assinatura. É o mesmo que abri-lo em Assinaturas> e selecionar o >Log de atividades da assinatura.
Use o comando az monitor activity-log list CLI do Azure para recuperar eventos de log de atividades para uma assinatura em um intervalo de tempo especificado. Por padrão, esse comando recupera eventos para a assinatura definida no momento em seu contexto de CLI do Azure. Para especificar explicitamente uma assinatura, use o --subscription parâmetro, conforme mostrado nos exemplos abaixo.
Intervalo de tempo explícito:
CLI do Azure dá suporte ao mesmo tipo de intervalo de tempo explícito que REST usando --start-time e --end-time:
subscriptionId="aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
startTime="2026-04-01T00:00:00Z"
endTime="2026-04-14T23:59:59Z"
az monitor activity-log list \
--subscription "$subscriptionId" \
--start-time "$startTime" \
--end-time "$endTime"
Intervalo de tempo relativo:
CLI do Azure também dá suporte a intervalos de tempo relativos usando --offset. Por exemplo, --offset 14d retorna eventos dos últimos 14 dias:
subscriptionId="aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
offset="14d"
az monitor activity-log list \
--subscription "$subscriptionId" \
--offset "$offset"
Observação
Os comandos da CLI do Azure usam o ponto de extremidade do Azure Resource Manager no contexto atual da CLI, portanto management.azure.com não precisa ser especificado na sintaxe do comando.
Azure PowerShell fornece o cmdlet Get-AzActivityLog para recuperar eventos de log de atividades para uma assinatura em um intervalo de tempo especificado.
Intervalo de tempo explícito:
Azure PowerShell dá suporte à especificação de um intervalo de tempo exato usando StartTime e EndTime, semelhante ao REST:
$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$startTime = [datetime]"2026-04-01T00:00:00Z"
$endTime = [datetime]"2026-04-14T23:59:59Z"
Set-AzContext -Subscription $subscriptionId
$getAzActivityLogParams = @{
StartTime = $startTime
EndTime = $endTime
}
Get-AzActivityLog @getAzActivityLogParams
Intervalo de tempo relativo:
Azure PowerShell também dá suporte à consulta de um intervalo de tempo relativo usando expressões Get-Date para StartTime e EndTime. O exemplo a seguir retorna eventos dos últimos 14 dias, terminando no momento em que o comando é executado:
$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$lookbackDays = 14
Set-AzContext -Subscription $subscriptionId
$getAzActivityLogParams = @{
StartTime = (Get-Date).AddDays(-$lookbackDays)
EndTime = Get-Date
}
Get-AzActivityLog @getAzActivityLogParams
Observação
Os cmdlets do Azure PowerShell usam o ponto de extremidade do Azure Resource Manager do contexto atual de Az, portanto management.azure.com não precisa ser especificado na sintaxe dos cmdlets.
Para listar os eventos do log de atividades, use esta solicitação GET da API REST do Log de Atividades.
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Insights/eventtypes/management/values?api-version={apiVersion}&$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}'
Liste eventos do log de atividades de um grupo de recursos
Adicione resourceGroupName ao $filter para delimitar os resultados do log de atividades do Azure Monitor a um grupo de recursos específico.
O menu do qual você abre o log de atividades determina seu filtro inicial. Se você abri-lo no menu de um recurso, o filtro será definido para esse recurso. Selecione Adicionar Filtro para adicionar mais propriedades ao filtro. Aqui estão as outras propriedades pelas quais você pode filtrar no portal:
-
Resource - Itens que fazem parte de sua solução de Azure, como um banco de dados ou uma máquina virtual.
-
Tipo de recurso – a categoria à qual um recurso pertence, como máquinas virtuais, aplicativos Web ou bancos de dados.
-
Operation - uma ação ou comando, como criar, excluir e gravar, que afeta Azure Resource Manager recursos.
-
Evento iniciado por – Filtrar eventos pela identidade que iniciou o evento.
-
Categoria de evento – Filtre os tipos de evento para determinadas operações.
Observação
O cabeçalho REST Prefer: wait=75 não tem um equivalente direto no comando CLI do Azure para esta operação. Esse comando emite a consulta diretamente e retorna os registros correspondentes do Log de Atividades.
Use o comando az monitor activity-log list para recuperar eventos de log de atividades relacionados a um grupo de recursos. Comandos CLI do Azure específicos reduzem a complexidade da chamada à API REST equivalente.
subscriptionId="aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
resourceGroupName="myResourceGroup"
offset="30d"
az monitor activity-log list \
--subscription "$subscriptionId" \
--resource-group "$resourceGroupName" \
--offset "$offset"
Observação
Os comandos da CLI do Azure usam o ponto de extremidade do Azure Resource Manager no contexto atual da CLI, portanto management.azure.com não precisa ser especificado na sintaxe do comando.
Observação
O cabeçalho REST Prefer: wait=75 não tem um equivalente direto no cmdlet Azure PowerShell para esta operação. Esse comando emite a consulta diretamente e retorna os registros correspondentes do Log de Atividades.
Azure PowerShell fornece o cmdlet Get-AzActivityLog para recuperar eventos de log de atividades com escopo para um grupo de recursos em um intervalo de tempo relativo.
$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$resourceGroupName = "myResourceGroup"
$lookbackDays = 30
Set-AzContext -Subscription $subscriptionId
$getAzActivityLogParams = @{
ResourceGroupName = $resourceGroupName
StartTime = (Get-Date).AddDays(-$lookbackDays)
EndTime = Get-Date
}
Get-AzActivityLog @getAzActivityLogParams
Observação
Os cmdlets do Azure PowerShell usam o ponto de extremidade do Azure Resource Manager do contexto atual de Az, portanto management.azure.com não precisa ser especificado na sintaxe dos cmdlets.
Para listar eventos do log de atividades restritos a um grupo de recursos usando a API REST do Azure Resource Manager, utilize uma solicitação GET com $filter que inclua tanto o intervalo de tempo quanto a propriedade resourceGroupName. Opcionalmente, inclua o Prefer cabeçalho para especificar um tempo limite específico para a solicitação (tempo máximo 75 de espera em segundos).
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Insights/eventtypes/management/values?api-version={apiVersion}&$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}' and resourceGroupName eq '{resourceGroupName}'
Prefer: wait=75
Retornar propriedades específicas do log de atividades
Use um parâmetro para retornar apenas as propriedades especificadas, o que reduz o tamanho da carga de resposta. Para obter mais informações, consulte descrições de propriedades do esquema de log de atividades.
O portal do Azure não fornece uma maneira de limitar diretamente as propriedades retornadas de eventos de log de atividades. Para reduzir a quantidade de dados exibidos, use a opção Editar colunas na folha Log de atividades para selecionar quais colunas são exibidas na exibição do portal.
Use o comando az monitor activity-log list com o parâmetro --select para especificar quais propriedades dos eventos de log de atividades devem ser retornadas.
Use o --max-events parâmetro de az monitor activity-log list para limitar o número de registros retornados.
subscriptionId="aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
offset="30d"
maxEvents=100
selectFields=(
eventName
operationName
status
eventTimestamp
correlationId
submissionTimestamp
level
)
az monitor activity-log list \
--subscription "$subscriptionId" \
--offset "$offset" \
--max-events "$maxEvents" \
--select "${selectFields[@]}"
Limite as propriedades retornadas de eventos de log de atividades em Azure PowerShell canalizando os resultados de Get-AzActivityLog para Select-Object e especificando as propriedades desejadas retornadas. Isso não reduz o tamanho da resposta da API, pois Select-Object filtra apenas as propriedades na saída exibida pelo PowerShell.
Use o -MaxRecord parâmetro de Get-AzActivityLog para limitar o número de registros retornados.
$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$lookbackDays = 30
$maxRecord = 100
$selectProperties = @(
"EventName"
"OperationName"
"Status"
"EventTimestamp"
"CorrelationId"
"SubmissionTimestamp"
"Level"
)
Set-AzContext -Subscription $subscriptionId
$activityLogParams = @{
StartTime = (Get-Date).AddDays(-$lookbackDays)
EndTime = Get-Date
MaxRecord = $maxRecord
}
Get-AzActivityLog @activityLogParams |
Select-Object -Property $selectProperties
Para listar eventos de log de atividades com apenas propriedades específicas retornadas usando a API REST Azure Resource Manager, inclua o parâmetro de consulta $select na solicitação GET com uma lista separada por vírgulas das propriedades que você deseja retornar.
GET https://management.azure.com/subscriptions/{subscriptionId}/providers/Microsoft.Insights/eventtypes/management/values?api-version={apiVersion}&$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}'&$select=eventName,operationName,status,eventTimestamp,correlationId,submissionTimestamp,level
Listar eventos de log de atividades no nível do inquilino
Os eventos do log de atividades no nível do locatário geralmente têm poucas entradas, mas podem incluir eventos importantes, como a criação de um grupo de gerenciamento ou de uma assinatura. Esses eventos são separados dos eventos de log de atividades no nível da assinatura, mas podem conter eventos duplicados de gerenciamento de recursos.
As consultas neste escopo utilizam uma API REST diferente daquela usada para os eventos do log de atividades no nível da assinatura. CLI do Azure e Azure PowerShell não fornecem comandos dedicados.
Acesse Monitor>Registro de atividades no portal do Azure. Altere o menu suspenso Atividade e selecione Atividade do diretório.
Um comando CLI do Azure dedicado não está disponível para eventos de log de atividades no nível do locatário. O exemplo a seguir chama a API REST diretamente usando az rest:
apiVersion="2015-04-01"
startTime="2026-04-01T00:00:00Z"
endTime="2026-04-30T23:59:59Z"
providers="Microsoft.Insights/eventtypes/management/values"
resourceId="/providers/$providers"
filter="eventTimestamp ge '$startTime' and eventTimestamp le '$endTime'"
az rest \
--method get \
--uri "$resourceId?api-version=$apiVersion&\$filter=$filter"
Não há um cmdlet dedicado do PowerShell disponível para eventos do log de atividades no nível do locatário. O exemplo a seguir chama a API REST diretamente usando Invoke-AzRestMethod:
$apiVersion = "2015-04-01"
$startTime = "2026-04-01T00:00:00Z"
$endTime = "2026-04-30T23:59:59Z"
$providers = "Microsoft.Insights/eventtypes/management/values"
$resourceId = "/providers/$providers"
$filter = "eventTimestamp ge '$startTime' and eventTimestamp le '$endTime'"
$invokeAzRestMethodParams = @{
Path = "$resourceId?api-version=$apiVersion&`$filter=$filter"
Method = "GET"
}
Invoke-AzRestMethod @invokeAzRestMethodParams
Para listar eventos do log de atividades no nível do assinante, use esta solicitação GET. Observe que esta solicitação se destina ao ponto de extremidade do log de atividades no nível do locatário, que é diferente da API do log de atividades no nível da assinatura.
GET https://management.azure.com/providers/Microsoft.Insights/eventtypes/management/values?api-version={apiVersion}&$filter=eventTimestamp ge '{starTime}' and eventTimestamp le '{endTime}'
Listar eventos de log de atividades no nível do grupo de gerenciamento
Os eventos do log de atividades no nível do grupo de gerenciamento capturam eventos restritos a um grupo de gerenciamento específico, como atribuições de políticas e alterações na composição do grupo de gerenciamento.
Observação
- Os exemplos a seguir usam a versão da
2017-03-01-preview API, que é necessária para consultas de log de atividades no nível do grupo de gerenciamento.
Para exibir eventos de log de atividades no nível do grupo de gerenciamento no portal do Azure, acesse Management groups> selecione um grupo de gerenciamento >Activity log.
Para listar eventos de log de atividades no nível do grupo de gerenciamento, use o comando az rest CLI do Azure. Esse comando chama diretamente a API REST do Azure Resource Manager para recuperar eventos do log de atividades no escopo do grupo de gerenciamento especificado.
apiVersion="2017-03-01-preview"
managementGroupId="myManagementGroup"
startTime="2026-04-01T00:00:00Z"
endTime="2026-04-30T23:59:59Z"
providers="Microsoft.Insights/eventtypes/management/values"
resourceId="/providers/Microsoft.Management/managementGroups/$managementGroupId/providers/$providers"
filter="eventTimestamp ge '$startTime' and eventTimestamp le '$endTime'"
az rest \
--method get \
--url "$resourceId?api-version=$apiVersion&\$filter=$filter"
Um cmdlet dedicado do PowerShell não está disponível para eventos de log de atividades no nível do grupo de gerenciamento. O exemplo a seguir chama a API REST diretamente usando Invoke-AzRestMethod.
$apiVersion = "2017-03-01-preview"
$managementGroupId = "myManagementGroup"
$startTime = "2026-04-01T00:00:00Z"
$endTime = "2026-04-30T23:59:59Z"
$providers = "Microsoft.Insights/eventtypes/management/values"
$resourceId = "/providers/Microsoft.Management/managementGroups/$managementGroupId/providers/$providers"
$filter = "eventTimestamp ge '$startTime' and eventTimestamp le '$endTime'"
$invokeAzRestMethodParams = @{
Method = "GET"
Path = "$resourceId?api-version=$apiVersion&`$filter=$filter"
}
Invoke-AzRestMethod @invokeAzRestMethodParams
Para listar os eventos do log de atividades no nível do grupo de gerenciamento, utilize esta solicitação GET na API REST do Azure Resource Manager. Substitua {managementGroupId} pela ID do grupo de gerenciamento que você deseja consultar e especifique o intervalo de tempo no parâmetro de $filter consulta.
GET https://management.azure.com/providers/Microsoft.Management/managementGroups/{managementGroupId}/providers/Microsoft.Insights/eventtypes/management/values?api-version={apiVersion}&$filter=eventTimestamp ge '{startTime}' and eventTimestamp le '{endTime}'
A tabela a seguir descreve os parâmetros usados nos exemplos anteriores.
| Variable |
Valor de exemplo |
Purpose |
| hospedar |
management.azure.com |
Ponto de extremidade implícito do ARM |
| subscriptionId |
aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e |
Entrada do usuário |
| resourceGroupName |
myResourceGroup |
Entrada do usuário |
| managementGroupId |
myManagementGroup |
Entrada do usuário |
| apiVersion |
• 2015-04-01 • 2017-03-01-preview (para nível de grupo de gerenciamento) |
Referência |
Exibir histórico de alterações
Para alguns eventos, é possível exibir o Histórico de Alterações, que mostra as mudanças ocorridas durante um momento de evento específico. Selecione um evento no log de atividades que você deseja examinar mais profundamente. Selecione a guia Histórico de Alterações para exibir as alterações no recurso até 30 minutos antes e depois da hora da operação.
Se alguma alteração estiver associada ao evento, o portal mostrará uma lista selecionável de alterações. A seleção de uma alteração abre a página Histórico de Alterações. Essa página exibe as alterações no recurso.
O exemplo a seguir mostra que a VM mudou de tamanho. A página exibe o tamanho da VM antes da alteração e após a alteração. Para saber mais sobre o histórico de alterações, consulte Obter alterações de recursos.
Insights do log de atividades
Os insights do log de atividades são uma pasta de trabalho do Azure Monitor que oferece um conjunto de painéis para monitorar as alterações em recursos e grupos de recursos em uma assinatura. Os painéis também apresentam dados sobre quais usuários ou serviços realizaram atividades na assinatura e o status das atividades.
Para habilitar os insights do log de atividades, exporte o log de atividades para um workspace do Log Analytics conforme descrito em Export activity log. Esse processo envia eventos para a tabela AzureActivity, que os insights do log de atividades usam.
É possível abrir insights do log de atividades no nível da assinatura ou do recurso. Para a assinatura, selecione Activity Logs Insights na seção Pastas de Trabalho do menu Monitor.
Para um recurso individual, selecione o Activity Logs Insights na seção Pastas de Trabalho do menu do recurso.
Exportar log de atividades
Crie uma configuração de diagnóstico para enviar entradas de log de atividades para outros destinos para obter mais tempo de retenção e funcionalidade.
No portal Azure, selecione Ativeity log no menu Azure Monitor e selecione Export Activity Logs. Para obter mais informações e outros métodos para criar configurações de diagnóstico, consulte as configurações de diagnóstico no Azure Monitor. Desabilite qualquer configuração herdada para o log de atividades.
As seções a seguir fornecem detalhes sobre cada destino configurável para logs de recursos.
Envie o log de atividades para um workspace Log Analytics para obter a seguinte funcionalidade:
Não há encargos de ingestão de dados para logs de atividades. As cobranças de retenção para logs de atividades se aplicam somente ao período estendido além do período de retenção padrão de 90 dias. Você pode aumentar o período de retenção para até 12 anos.
Os dados do log de atividades em um workspace Log Analytics são armazenados em uma tabela chamada AzureActivity. A estrutura dessa tabela varia dependendo da categoria da entrada de log.
Por exemplo, para exibir uma contagem de registros do log de atividades para cada categoria, use a consulta a seguir:
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, os valores nos campos de AzureActivity podem ter maiúsculas e minúsculas diferentes dos valores equivalentes. Ao consultar dados em AzureActivity, use 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 uma capitalização uniforme antes de qualquer comparação. Por exemplo, use a função tolower() em um campo para forçá-la a ser sempre minúscula ou o operador =~ ao executar uma comparação de cadeia de caracteres.
Envie o log de atividades para o Hubs de Eventos do Azure para enviar entradas para 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 de hubs de eventos são consumidos no formato JSON com um elemento records que contém os registros em cada carga. O esquema depende da categoria e é descrito em esquema de evento do log de atividades do Azure.
Os exemplos de dados de saída a seguir 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": "aaaa0000-bb11-2222-33cc-444444dddddd",
"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/aaaabbbb-0000-cccc-1111-dddd2222eeee/",
"iat": "1421876371",
"nbf": "1421876371",
"exp": "1421880271",
"ver": "1.0",
"http://schemas.microsoft.com/identity/claims/tenantid": "aaaabbbb-0000-cccc-1111-dddd2222eeee",
"http://schemas.microsoft.com/claims/authnmethodsreferences": "pwd",
"http://schemas.microsoft.com/identity/claims/objectidentifier": "aaaa0000-bb11-2222-33cc-444444dddddd",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn": "admin@contoso.com",
"puid": "1003BFFD8EC002D4",
"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": "bbbb1111-cc22-3333-44dd-555555eeeeee,aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb,cccc2222-dd33-4444-55ee-666666ffffff",
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": " admin@contoso.com",
"appid": "00001111-aaaa-2222-bbbb-3333cccc4444",
"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": "bbbbbbbb-1111-2222-3333-cccccccccccc"
}
}
]
}
Envie o log de atividades para uma conta de Armazenamento do Azure se quiser manter seus dados de log por mais de 90 dias para auditoria, análise estática ou backup. Se você precisar reter seus eventos por 90 dias ou menos, não precisará configurar o arquivamento para uma conta de armazenamento.
Quando você envia o log de atividades para o armazenamento, um contêiner de armazenamento é criado na conta de armazenamento assim que ocorre um evento. Os blobs no contêiner usam esta 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-activity-logs/resourceId=/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/y=2020/m=06/d=08/h=18/m=00/PT1H.json
Cada PT1H.json blob 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 atual, os eventos são anexados ao arquivo PT1H.json conforme são recebidos, independentemente de quando foram gerados. O valor de minuto na URL, m=00, é sempre 00, pois os blobs são criados por hora.
Cada evento é armazenado no arquivo PT1H.json neste formato. Esse formato usa um esquema de nível superior comum, mas é exclusivo para cada categoria, conforme descrito no esquema de log de atividades.
{ "time": "2020-06-12T13:07:46.766Z", "resourceId": "/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/RESOURCEGROUPS/MY-RESOURCE-GROUP/PROVIDERS/MICROSOFT.COMPUTE/VIRTUALMACHINES/MV-VM-01", "correlationId": "bbbb1111-cc22-3333-44dd-555555eeeeee", "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"}}}
Exportar logs de atividades do grupo de gerenciamento
Quando você cria uma configuração de diagnóstico para um grupo de gerenciamento, ele exporta eventos do log de atividades do Azure Monitor para esse grupo de gerenciamento, além de todos os grupos de gerenciamento sob ele na hierarquia. Se vários grupos de gerenciamento na hierarquia tiverem configurações de diagnóstico, você receberá eventos duplicados. Você só precisa de uma configuração de diagnóstico no grupo de gerenciamento de nível mais alto para capturar todos os eventos para a hierarquia.
O grupo de gestão também recolhe muitos dos mesmos eventos que quaisquer subscrições ao abrigo do mesmo. Se a assinatura e o grupo de gerenciamento tiverem configurações de diagnóstico, você receberá eventos duplicados. O Azure Resource Manager inclui uma propriedade de hierarquia ao gravar eventos, mas não é um campo necessário. Os provedores de recursos fora do Azure Resource Manager não o preenchem, portanto, seus eventos não se propagam pela hierarquia. Por causa disso, obter eventos duplicados é melhor do que eventos ausentes.
Por exemplo, se você tiver MG1 que contém MG2 que contém Subscription1, uma configuração de diagnóstico em MG1 captura todos os eventos de log de atividades para MG1, MG2 e muitos dos eventos coletados por uma configuração de diagnóstico em Subscription1. Nesse caso, nenhuma configuração de diagnóstico é necessária no MG2, pois ela apenas coletaria eventos duplicados.
Se você tiver eventos duplicados, combine-os usando uma consulta que usa um hash de todos os campos para identificar registros exclusivos. A consulta Kusto a seguir mostra um exemplo de logs coletados em um workspace do Log Analytics:
AzureActivity
| extend Hash = hash(dynamic_to_json(pack_all()))
| summarize arg_max(TimeGenerated, *) by Hash
Exportar o log de atividades para um arquivo
Selecione Baixar como CSV para exportar o log de atividades para um arquivo CSV no portal do Azure.
Importante
Exportar um grande número de entradas de log pode levar muito tempo. Para melhorar o desempenho, reduza o intervalo de tempo da exportação. No portal do Azure, defina a configuração do Timespan .
Você pode exportar o log de atividades programaticamente usando CLI do Azure.
subscriptionId="aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
startTime="2026-04-01T00:00:00Z"
endTime="2026-04-14T23:59:59Z"
maxItems=1000
outputFile="./activity-log.json"
az monitor activity-log list \
--subscription "$subscriptionId" \
--start-time "$startTime" \
--end-time "$endTime" \
--max-items "$maxItems" \
> "$outputFile"
Você pode exportar o log de atividades programaticamente usando Azure PowerShell.
$subscriptionId = "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
$startTime = "2026-04-01T00:00:00Z"
$endTime = "2026-04-14T23:59:59Z"
$outputFile = "./activity-log.csv"
Set-AzContext -SubscriptionId $subscriptionId
$getAzActivityLogParams = @{
StartTime = $startTime
EndTime = $endTime
}
Get-AzActivityLog @getAzActivityLogParams |
Export-Csv -Path $outputFile -NoTypeInformation
O exemplo a seguir, o script do PowerShell exporta o log de atividades para arquivos CSV em intervalos de uma hora, cada um salvo em um arquivo separado.
# 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."
Identificar a criação de recursos
Use o log de atividades para descobrir quando o sistema criou um recurso e quem o criou. O log de atividades é o único local que armazena o criador de um recurso. Como o log de atividades retém dados por 90 dias por padrão, você deve exportar os logs para um local que permita estender o período de retenção, como um workspace do Log Analytics. Em seguida, localize o criador de um recurso consultando a AzureActivity tabela. Os dados são retidos pela duração especificada no período de retenção desta tabela.
Conteúdo relacionado