Enviar 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 del nivel de suscripción. El registro de actividad incluye información como, por ejemplo, cuándo se modificó un recurso o cuándo se inició una máquina virtual. 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.
Cree una configuración de diagnóstico para enviar el registro de actividad a una o varias de estas ubicaciones:
- Área de trabajo de Log Analytics para consultas y alertas más complejas
- Azure Event Hubs para reenviar los registros fuera de Azure.
- Azure Storage para un archivado a largo plazo y más barato.
Consulte Configuración de diagnóstico en Azure Monitor para obtener detalles sobre cómo crear una configuración de diagnóstico.
Sugerencia
Envíe registros de actividad a un área de trabajo de Log Analytics para obtener las ventajas siguientes:
- El envío de registros a un área de trabajo de Log Analytics es gratuito durante el período de retención predeterminado.
- Envíe registros a un área de trabajo de Log Analytics para obtener una retención más larga de hasta 12 años.
- Los registros exportados a un área de trabajo de Log Analytics se pueden mostrar en Power BI
- Se proporcionan conclusiones para los registros de actividad exportados a Log Analytics.
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 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 la lectura de detalles de un recurso no suelen capturarse.
Envío al á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 hay cargos por ingesta o retención de datos para los datos del registro de actividad almacenados en un área de trabajo de Log Analytics.
- El período de retención predeterminado de Log Analytics es de 90 días.
Seleccione Exportar registros de actividad para enviar el registro de actividad a un área de trabajo de Log Analytics.
Puede enviar el registro de actividad desde cualquier suscripción única hasta un máximo de cinco áreas de trabajo.
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": "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"
}
}
]
}
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/00000000-0000-0000-0000-000000000000/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 de eventos del registro de actividad de Azure.
{ "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"}}}
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:
- Use el cmdlet Get-AzLog para recuperar el registro de actividad desde PowerShell. Vea Ejemplos de PowerShell de Azure Monitor.
- Use az monitor activity-log para recuperar el registro de actividad desde la CLI. Consulte los ejemplos de CLI de Azure Monitor.
- Use la API REST de Azure Monitor para recuperar el registro de actividad desde un cliente REST.
Métodos de recopilación heredados
Nota
- La solución de registros de actividad de Azure se usó para reenviar los registros de actividad a Análisis de registros de Azure. 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:
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'
.Copie el nombre de la conexión que quiere deshabilitar de la respuesta de la API.
Use Orígenes de datos: eliminar API para dejar de recopilar registros de actividad para el recurso específico.
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, cambie a la configuración de diagnóstico antes del 15 de septiembre de 2025, fecha en la que dejaremos de permitir la creación de nuevos 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.
Use
Get-AzLogProfile
para identificar si existe un perfil de registro. Si existe un perfil de registro, tome nota de la propiedadName
.Use
Remove-AzLogProfile
para quitar el perfil de registro mediante el uso del valor de la propiedadName
.# For example, if the log profile name is 'default' Remove-AzLogProfile -Name "default"
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 Sí 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}
.Location Sí Lista separada por comas de las regiones para las que quiere recopilar eventos del registro de actividad. RetentionInDays Sí 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. Category 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>"
# 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 (antiguo en desuso) |
Nuevo nombre de columna de Log Analytics | Notas |
---|---|---|---|
category | Category | CategoryValue | |
status Los valores son success, start, accept y failure. |
ActivityStatus Valores iguales que en JSON |
ActivityStatusValue Los valores cambian a succeeded, started, accepted y failed. |
Los valores válidos cambian tal como se ha mostrado. |
subStatus | ActivitySubstatus | ActivitySubstatusValue | |
operationName | OperationName | 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. |
resourceProviderName | ResourceProvider | ResourceProviderValue |
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: