Migración de la API del recopilador de datos HTTP a la API de ingesta de registros para enviar datos a los registros de Azure Monitor
La API de ingesta de registros de Azure Monitor proporciona más potencia de procesamiento y mayor flexibilidad en la ingesta de registros y administración de tablas que la API heredada del recopilador de datos HTTP. En este artículo, se describen las diferencias entre la API del recopilador de datos y la API de ingesta de registros, y se proporcionan instrucciones y procedimientos recomendados para migrar a la nueva API de ingesta de registros.
Nota
Como Microsoft MVP, Morten Waltorp Knudsen ha contribuido y proporcionado comentarios valioso para este artículo. Para obtener un ejemplo de cómo puede automatizar la configuración y el uso continuo de la API de ingesta de registros, consulte el módulo de PowerShell AzLogDcrIngestPS de Morten disponible de manera pública.
Ventajas de la API de ingesta de registros
La API de ingesta de registros proporciona las siguientes ventajas en comparación con la API del recopilador de datos:
- Admite las transformaciones, que permiten modificar los datos antes de ingerirlos en la tabla de destino, incluido el filtrado y la manipulación de datos.
- Permite enviar datos a varios destinos.
- Permite administrar el esquema de tabla de destino, incluidos los nombres de columna, e indicar si se deben agregar nuevas columnas a la tabla de destino cuando cambia el esquema de datos de origen.
Requisitos previos
El procedimiento de migración descrito en este artículo supone que tiene:
- Un área de trabajo de Log Analytics en la que tenga al menos derechos de colaborador.
- Permisos para crear reglas de recopilación de datos en el área de trabajo de Log Analytics.
- Una aplicación de Microsoft Entra para autenticar llamadas API o cualquier otro esquema de autenticación de Resource Manager.
Permisos necesarios
Acción | Permisos requeridos |
---|---|
Cree un punto de conexión de recopilación de datos. | Microsoft.Insights/dataCollectionEndpoints/write los permisos proporcionados por el rol integrado colaborador de supervisión, por ejemplo. |
Cree o modifique una regla de recopilación de datos. | Microsoft.Insights/DataCollectionRules/Write los permisos proporcionados por el rol integrado colaborador de supervisión, por ejemplo. |
Convierta una tabla que use Data Collector API en reglas de recopilación de datos y la API de ingesta de registros. | Microsoft.OperationalInsights/workspaces/tables/migrate/action permisos proporcionados por el rol integrado colaborador de Log Analytics, por ejemplo. |
Cree nuevas tablas o modifique esquemas de tabla. | microsoft.operationalinsights/workspaces/tables/write permisos proporcionados por el rol integrado colaborador de Log Analytics, por ejemplo. |
Llame a la API de ingesta de registros. | Consulte Asignación de permisos a un DCR. |
Creación de nuevos recursos necesarios para la API de ingesta de registros
La API de ingesta de registros requiere que cree dos nuevos tipos de recursos, que la API del recopilador de datos HTTP no requiere:
- Puntos de conexión de recopilación de datos, desde los que se ingieren, en la canalización, los datos que recopila para su procesamiento.
- Reglas de recopilación de datos, que definen transformaciones de datos y la tabla de destino en la que se ingieren los datos.
Migración de tablas personalizadas existentes o creación de nuevas tablas
Si tiene una tabla personalizada existente a la que actualmente envía datos mediante la API del recopilador de datos, puede hacer lo siguiente:
Migre la tabla para continuar con la ingesta de datos en la misma tabla mediante la API de ingesta de registros.
Mantenga la tabla y los datos existentes y configure una nueva tabla en la que se ingieren datos mediante la API de ingesta de registros. Después, puede eliminar la tabla antigua cuando esté listo.
Esta es la opción preferida, especialmente si necesita realizar cambios en la tabla existente. Los cambios en los tipos de datos existentes y varios cambios de esquema en las tablas existentes personalizadas de la API del recopilador de datos pueden provocar errores.
Sugerencia
Para identificar qué tablas utilizan la API del recopilador de datos, consulte las propiedades de la tabla. La propiedad Tipo de las tablas que utilizan la API del recopilador de datos está establecida en Tabla personalizada (clásica). Tenga en cuenta que las tablas que ingieren datos mediante el agente de Log Analytics (MMA) heredado también tienen la propiedad Tipo establecida en Tabla personalizada (clásica). Asegúrese de migrar del agente de Log Analytics al agente de Azure Monitor antes de convertir tablas MMA. De lo contrario, dejará de ingerir datos en campos personalizados en estas tablas después de la conversión de la tabla.
En esta tabla, se resumen las consideraciones que se deben tener en cuenta para cada opción:
Migración de la tabla | Implementación en paralelo | |
---|---|---|
Nomenclatura de tabla y columna | Vuelva a usar el nombre de la tabla existente. Opciones de nomenclatura de columnas: - Use nuevos nombres de columnas y defina una transformación para dirigir los datos entrantes a la columna recién nombrada. - Continúe usando nombres antiguos. |
Establezca libremente el nuevo nombre de la tabla. Es necesario ajustar las integraciones, los paneles y las alertas antes de cambiar a la nueva tabla. |
Procedimiento de migración | Migración única de tabla. No es posible revertir una tabla migrada. | La migración se puede realizar gradualmente, por tabla. |
Después de la migración | Puede seguir ingiriendo datos mediante la API del recopilador de datos HTTP con columnas existentes, excepto las columnas personalizadas. Ingiera datos en nuevas columnas solo mediante el uso de la API de ingesta de registros. |
Los datos de la tabla antigua están disponibles hasta el final del período de retención. Al configurar por primera vez una nueva tabla o realizar cambios de esquema, los cambios de datos pueden tardar entre 10 y 15 minutos en empezar a aparecer en la tabla de destino. |
Para convertir una tabla que usa la API del recopilador de datos en reglas de recopilación de datos y la API de ingesta de registros, emita esta llamada API en la tabla:
POST https://management.azure.com/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/Microsoft.OperationalInsights/workspaces/{workspaceName}/tables/{tableName}/migrate?api-version=2021-12-01-preview
Esta llamada es idempotente, por lo que no tiene ningún efecto si la tabla ya se ha convertido.
La llamada API habilita todas las características de registros personalizados basados en DCR en la tabla. La API del recopilador de datos seguirá ingiriendo datos en columnas existentes, pero no creará columnas nuevas. Los campos personalizados definidos anteriormente no se seguirán rellenando. Otra manera de migrar una tabla existente para que use las reglas de recopilación de datos, pero no necesariamente la API de ingesta de registros es aplicar una transformación del área de trabajo a la tabla.
Importante
- Los nombres de columna deben comenzar con una letra y pueden constar de hasta 45 caracteres alfanuméricos y guiones bajos (
_
). _ResourceId
,id
,_ResourceId
,_SubscriptionId
,TenantId
,Type
,UniqueId
yTitle
son nombres de columna reservados.- Las columnas personalizadas que agregue a una tabla de Azure deben tener el sufijo
_CF
. - Si actualiza el esquema de tabla en el área de trabajo de Log Analytics, también debe actualizar la definición del flujo de entrada en la regla de recopilación de datos para ingerir datos en columnas nuevas o modificadas.
Llamada a la API de ingesta de registros
La API de ingesta de registros permite enviar hasta 1 MB de datos comprimidos o sin comprimir por llamada. Si necesita enviar más de 1 MB de datos, puede enviar varias llamadas en paralelo. Se trata de un cambio de la API del recopilador de datos, que permite enviar hasta 32 MB de datos por llamada.
Para obtener información sobre cómo llamar a la API de ingesta de registros, consulte Llamada a la API de REST de ingesta de registros.
Modificación de esquemas de tabla y reglas de recopilación de datos en función de los cambios en el objeto de datos de origen
La API del recopilador de datos ajusta automáticamente el esquema de la tabla de destino cuando cambia el esquema del objeto de datos de origen, pero la API de ingesta de registros no lo hace. Esto garantiza que no recopile datos nuevos en columnas que no tenía previsto crear.
Cuando el esquema de datos de origen cambia, puede hacer lo siguiente:
- Modifique los esquemas de tabla de destino y las reglas de recopilación de datos para que se alineen con los cambios en el esquema de datos de origen.
- Defina una transformación en la regla de recopilación de datos para enviar los nuevos datos a las columnas existentes en la tabla de destino.
- No modifique nada en la tabla de destino ni en la regla de recopilación de datos. En este caso, no ingerirá los nuevos datos.
Nota
No se puede reutilizar un nombre de columna con un tipo de datos diferente al tipo de datos original definido para la columna.