Compartir a través de


Envío de datos del registro de actividad de Azure Monitor

El registro de actividad de Azure Monitor es un registro de plataforma que proporciona información sobre los eventos de nivel de suscripción. El registro de actividad incluye información como cuando se modifica un recurso o cuando se produce un error de implementación. Puede ver el registro de actividad en Azure Portal o recuperar entradas con PowerShell y la CLI de Azure.

En este artículo, se proporciona información sobre cómo ver el registro de actividad y enviarlo a diferentes destinos.

Nota:

  • Las entradas del registro de actividad son generadas por el sistema y no se pueden cambiar ni eliminar.
  • Las entradas del registro de actividad representan cambios en el plano de control, como un reinicio de una máquina virtual, las entradas no relacionadas deben escribirse en los registros de recursos de Azure.
  • Las entradas del registro de actividad suelen ser el resultado de cambios (operaciones de creación, actualización o eliminación) o de una acción iniciada. Las operaciones centradas en leer detalles de un recurso no suelen capturarse.

Sugerencia

Si se le dirigió a este artículo desde un error de operación durante la implementación, consulte Solucionar errores comunes en la implementación de Azure.

Exportación de registros de actividad

  1. Vaya alregistro de actividad de > y seleccione Exportar registros de actividad.

    Captura de pantalla que muestra cómo llegar a los registros de actividad.

    Nota:

    Puede enviar el registro de actividad desde cualquier suscripción única hasta un máximo de cinco áreas de trabajo.

  2. Agregue la configuración de diagnóstico para enviar registros de actividad a una o varias de estas ubicaciones:

    Captura de pantalla que muestra cómo agregar una configuración de diagnóstico.

    Consulte Crear configuraciones de diagnóstico para enviar registros y métricas de la plataforma a diferentes destinos para obtener detalles sobre cómo crear una configuración de diagnóstico.

    Sugerencia

    Envíe datos del registro de actividad a un área de trabajo de Log Analytics para las siguientes ventajas:

Envío a un área de trabajo de Log Analytics

Envíe el registro de actividad a un área de trabajo de Log Analytics para habilitar la característica Registros de Azure Monitor, donde podrá hacer lo siguiente:

  • Correlacionar los datos del registro de actividad con otros datos de supervisión recopilados por Azure Monitor.
  • Consolidar las entradas de registro de varias suscripciones e inquilinos de Azure en una ubicación para su análisis conjunto.
  • Usar las consultas de registro para realizar un análisis complejo y obtener información detallada sobre las entradas del registro de actividad.
  • Use alertas de búsqueda de registros con entradas de actividad para una lógica de alertas más compleja.
  • Almacenar las entradas del registro de actividad más allá del período de retención del registro de actividad.
  • No incurra en cargos por ingesta o retención de datos para los datos de eventos de actividad almacenados en un espacio de trabajo de Log Analytics.
  • El período de retención predeterminado en el análisis de registros es de 90 días.

Los datos del registro de actividad de un área de trabajo de Log Analytics se almacenan en una tabla denominada AzureActivity que se puede recuperar con una consulta de registro en Log Analytics. La estructura de esta tabla varía en función de la categoría de la entrada de registro. Para obtener una descripción de las propiedades de la tabla, vea la referencia de datos de Azure Monitor.

Por ejemplo, para ver un recuento de las entradas del registro de actividad para cada categoría, use la consulta siguiente:

AzureActivity
| summarize count() by CategoryValue

Para recuperar todos los registros de la categoría administrativa, use la consulta siguiente:

AzureActivity
| where CategoryValue == "Administrative"

Importante

En algunos escenarios, es posible que los valores de los campos de AzureActivity tengan mayúsculas y minúsculas diferentes de los valores equivalentes. Tenga cuidado al consultar datos en AzureActivity con el uso de operadores que no distinguen mayúsculas de minúsculas para comparaciones de cadenas o use una función escalar para forzar un campo a un uso uniforme de mayúsculas y minúsculas antes de cualquier comparación. Por ejemplo, use la función tolower() en un campo para forzar que siempre esté en minúsculas o el operador =~ al realizar una comparación de cadenas.

Envío a Azure Event Hubs

Envíe el registro de actividad a Azure Event Hubs para enviar entradas fuera de Azure, por ejemplo, a un SIEM de terceros o a otras soluciones de análisis de registros. Los eventos del registro de actividad de Event Hubs se consumen en formato JSON con un elemento records que contiene los registros de cada carga. El esquema depende de la categoría y se describe en Esquema de eventos del registro de actividad de Azure.

A continuación, se muestran datos de salida de ejemplo de Event Hubs para un registro de actividad:

{
    "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/72f988bf-86f1-41af-91ab-2d7cd011db47/",
                    "iat": "1421876371",
                    "nbf": "1421876371",
                    "exp": "1421880271",
                    "ver": "1.0",
                    "http://schemas.microsoft.com/identity/claims/tenantid": "ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0",
                    "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": "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": "50d5cddb-8ca0-47ad-9b80-6cde2207f97c"
            }
        }
    ]
}

Envío a Azure Storage

Envíe el registro de actividad a una cuenta de Azure Storage si quiere conservar los datos de registro durante más de 90 días para la auditoría, el análisis estático o hacer una copia de seguridad. Si tiene que conservar los eventos durante 90 días o menos, no necesita configurar el archivado en una cuenta de almacenamiento. Los eventos del registro de actividad se conservan en la plataforma de Azure durante 90 días.

Cuando envíe el registro de actividad a Azure, se creará un contenedor de almacenamiento en la cuenta de almacenamiento en cuanto se produzca un evento. Los blobs del contenedor usan la siguiente convención 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 ejemplo, un blob determinado podría tener un nombre similar al siguiente:

insights-activity-logs/resourceId=/SUBSCRIPTIONS/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/y=2020/m=06/d=08/h=18/m=00/PT1H.json

Cada blob PT1H.json contiene un objeto JSON con eventos de los archivos de registro recibidos durante la hora especificada en la dirección URL del blob. Durante la hora actual, los eventos se anexan al archivo PT1H.json a medida que se reciben, independientemente de cuándo se generaron. El valor de minuto de la dirección URL m=00 siempre es 00, ya que los blobs se crean por hora.

En el archivo PT1H.json, los eventos se almacenan con el siguiente formato. Este formato usa un esquema de nivel superior común, pero es único para cada categoría, tal como se describe en Esquema del registro de actividad.

{ "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 a CSV

Seleccione Descargar como CSV para exportar el registro de actividad a un archivo CSV mediante Azure Portal.

Captura de pantalla que muestra la opción para exportar a CSV.

Importante

La exportación puede tardar un tiempo excesivo si tiene un gran número de entradas de registro. Para mejorar el rendimiento, reduzca el intervalo de tiempo de la exportación. En Azure Portal, se establece con la configuración Timespan .

También puede exportar el registro de actividad a un archivo CSV mediante PowerShell o la CLI de Azure como en los ejemplos siguientes.

az monitor activity-log list --start-time "2024-03-01T00:00:00Z" --end-time "2024-03-15T23:59:59Z" --max-items 1000 > activitylog.json
Get-AzActivityLog -StartTime 2021-12-01T10:30 -EndTime 2022-01-14T11:30 | Export-csv operations_logs.csv

El siguiente script de PowerShell de ejemplo exporta el registro de actividad a archivos CSV en intervalos de una hora, cada uno de los cuales se guarda en un archivo independiente.

# 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."

Otros métodos para recuperar eventos del registro de actividad

También puede acceder a los eventos del registro de actividad mediante los métodos siguientes:

Métodos de recopilación heredados

Nota:

La solución Registro de actividad de Azure se usó para reenviar registros de actividad a Log Analytics. Esta solución se retirará el 15 de septiembre de 2026 y se convertirá automáticamente en configuración de Diagnóstico.

Si va a recopilar registros de actividad mediante el método de recopilación heredado, se recomienda exportar los registros de actividad al área de trabajo de Log Analytics y deshabilitar la recopilación heredada mediante data Orígenes de datos: eliminar API como se indica a continuación:

  1. Indique todos los orígenes de datos conectados al área de trabajo mediante la Orígenes de datos: listar por API de área de trabajo y filtre los registros de actividad estableciendo kind eq 'AzureActivityLog'.

    Captura de pantalla que muestra la configuración de Orígenes de datos: listar por API de área de trabajo.

  2. Copie el nombre de la conexión que quiere deshabilitar de la respuesta de la API.

    Captura de pantalla que muestra la información de conexión que necesitas copiar de la salida de la API de Orígenes de Datos - Listar por Espacio de Trabajo.

  3. Use la API de eliminación de fuentes de datos para dejar de recopilar registros de actividad para un recurso específico.

    Captura de pantalla de la configuración de Orígenes de datos: eliminar API.

Administración de perfiles de registro heredados (retirada)

Nota:

  • Los perfiles de registros se usaron para reenviar registros de actividad a cuentas de almacenamiento y Event Hubs. Este método se retirará el 15 de septiembre de 2026.
  • Si usa este método, pase a Configuración de diagnóstico antes del 15 de septiembre de 2025, cuando dejemos de permitir nuevas creaciones de perfiles de registro.

Los perfiles de registro son el método heredado para enviar el registro de actividad a Azure Storage o Event Hubs. Si utiliza este método, cambie a la configuración de diagnóstico, que proporciona una mejor funcionalidad y coherencia con los registros de recursos.

Si ya existe un perfil de registro, primero debe quitarlo y luego crear uno nuevo.

  1. Use Get-AzLogProfile para identificar si existe un perfil de registro. Si existe un perfil de registro, tome nota de la propiedad Name.

  2. Utilice Remove-AzLogProfile para quitar el perfil de registro usando el valor de la propiedad Name.

    # For example, if the log profile name is 'default'
    Remove-AzLogProfile -Name "default"
    
  3. Use Add-AzLogProfile para crear un nuevo perfil de registro:

    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
    
    Propiedad Obligatorio Descripción
    Nombre Nombre de su perfil de registro.
    StorageAccountId No Identificador de recurso de la cuenta de almacenamiento donde se debe guardar el registro de actividad.
    serviceBusRuleId No Id. de la regla de Service Bus para el espacio de nombres de Service Bus donde quiere que se creen los centros de eventos. Esta cadena tiene el formato {service bus resource ID}/authorizationrules/{key name}.
    Ubicación Lista separada por comas de las regiones para las que quiere recopilar eventos del registro de actividad.
    RetentionInDays Número de días que se deben retener los eventos en la cuenta de almacenamiento, entre 1 y 365. Con el valor cero, se almacenan los registros indefinidamente.
    Categoría No Lista separada por comas de las categorías de eventos que se van a recopilar. Los valores posibles son Write, Delete y Action.

Script de ejemplo

El script de PowerShell de ejemplo crea un perfil de registro que escribe el registro de actividad en una cuenta de almacenamiento y un centro 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>"
$storageAccountName = "<Storage Account name>"

# 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

Cambios en la estructura de datos

La experiencia de exportación de registros de actividad envía los mismos datos que el método heredado utilizado para enviar el registro de actividad con algunos cambios en la estructura de la tabla AzureActivity.

Las columnas de la tabla siguiente están en desuso en el esquema actualizado. Todavía existen en AzureActivity, pero no tienen datos. Los reemplazos de estas columnas no son nuevos, pero contienen los mismos datos que la columna en desuso. Tienen un formato distinto, por lo que es posible que tenga que modificar las consultas de registro que las utilizan.

Código JSON del registro de actividad Nombre de columna de Log Analytics anterior
(en desuso)
Nuevo nombre de columna de Log Analytics Notas
categoría Categoría CategoryValue
estado

Los valores son success, start, accept, , failure
Estado de Actividad

Valores iguales que en JSON
ValorDelEstadoDeActividad

Los valores cambian a succeeded, started, accepted, failed
Los valores válidos cambian tal como se ha mostrado.
subStatus ActivitySubstatus ActivitySubstatusValue
nombreDeOperación NombreDeOperación OperationNameValue La API REST localiza el valor del nombre de la operación. La interfaz de usuario de Log Analytics siempre se muestra en inglés.
nombreDelProveedorDeRecursos Proveedor de Recursos ValorDelProveedorDeRecursos

Importante

En algunos casos, los valores de estas columnas pueden estar en mayúsculas. Si tiene una consulta que incluye estas columnas, utilice el operador =~ para realizar una comparación sin distinguir entre mayúsculas y minúsculas.

Las columnas siguientes se han agregado a AzureActivity en el esquema actualizado:

  • Authorization_d
  • Claims_d
  • Properties_d

Pasos siguientes

Más información sobre: