Tutorial: añadir una transformación en una regla de recopilación de datos del área de trabajo con Azure Portal
Este tutorial le muestra cómo configurar una transformación en una regla de recopilación de datos del área de trabajo (DCR) de ejemplo con Azure Portal. Las transformaciones en Azure Monitor permiten filtrar o modificar los datos entrantes antes de enviarlos a su destino. Las transformaciones del área de trabajo admiten transformaciones en tiempo de ingesta para los flujos de trabajo que aún no usan la canalización de ingesta de datos de Azure Monitor.
Las transformaciones del área de trabajo se almacenan juntas en una sola DCR para el área de trabajo, denominada DCR del área de trabajo. Cada transformación está asociada a una tabla determinada. La transformación se aplica a todos los datos enviados a esta tabla desde cualquier flujo de trabajo que no use una DCR.
Nota
En este tutorial se usa Azure Portal para configurar una transformación del área de trabajo. Para ver el mismo tutorial con plantillas de Azure Resource Manager y la API de REST, consulte Tutorial: añadir una transformación del área de trabajo a los Azure Monitor con plantillas de Resource Manager.
En este tutorial, aprenderá a:
- Configure la transformación del área de trabajo para una tabla en un área de trabajo de Log Analytics.
- Escriba una consulta de registro para una transformación del área de trabajo.
Prerrequisitos
Para completar este tutorial, necesita:
- Un área de trabajo de Log Analytics en la que tenga al menos derechos de colaborador.
- Permisos para crear objetos DCR en el área de trabajo.
- La tabla que ya tiene algunos datos.
- La tabla no puede estar vinculada a la DCR de transformación del área de trabajo.
Información general del tutorial
En este tutorial, reducirá el requisito de almacenamiento de la tabla LAQueryLogs
mediante el filtrado de determinados registros. También eliminará el contenido de una columna mientras analiza los datos de la columna para almacenar un fragmento de datos en una columna personalizada. La tabla LAQueryLogs se crea al habilitar la auditoría de consultas de registro en un área de trabajo. Puede usar este mismo proceso básico para crear una transformación para cualquier tabla admitida de un área de trabajo de Log Analytics.
En este tutorial se usa Azure Portal, el cual proporciona un asistente que le guía por el proceso de creación de una transformación de tiempo de ingesta. Después de completar todos los pasos, verá que el asistente:
- Actualiza el esquema de tabla con todas las columnas adicionales de la consulta.
- Crea una
WorkspaceTransforms
regla de recopilación de datos (DCR) si una DCR predeterminada aún no está vinculada al área de trabajo. - Crea una transformación de tiempo de ingesta y la agrega a la regla de recopilación de datos.
Habilitación de los registros de auditoría de consulta
Debe habilitar la auditoría de consultas del área de trabajo para crear la tabla LAQueryLogs
con la que va a trabajar. Esto no es necesario para todas las transformaciones de tiempo de ingesta. Es solo para generar los datos de ejemplo con los que vamos a trabajar.
En el menú Áreas de trabajo de Log Analytics de Azure Portal, seleccione Configuración de diagnóstico>Agregar configuración de diagnóstico.
Escriba un nombre para la configuración de diagnóstico. Seleccione el área de trabajo para que los datos de auditoría se almacenen en la misma área de trabajo. Seleccione la categoría Auditoría y haga clic en Guardar para guardar la configuración de diagnóstico y cerrar la página de configuración de diagnóstico.
Seleccione Registros y ejecute algunas consultas para rellenar
LAQueryLogs
con algunos datos. No es necesario que estas consultas devuelvan datos para agregarlos al registro de auditoría.
Añadir una transformación a la tabla
Ahora que se ha creado la tabla, puede crear la transformación para ella.
En el menú Áreas de trabajo de Log Analytics de Azure Portal, seleccione Tablas. Busque la tabla
LAQueryLogs
y seleccione Create transformation (Crear transformación).Puesto que esta es la primera transformación del área de trabajo, debe crear una DCR de transformación del área de trabajo. Si crea transformaciones para otras tablas de la misma área de trabajo, se almacenarán en esta misma DCR. Seleccione Crear una nueva regla de recopilación de datos. La suscripción y el grupo de recursos ya aparecerán rellenos en el área de trabajo. Introduzca un nombre para la DCR y seleccione Listo.
Seleccione Siguiente para ver los datos de ejemplo de la tabla. A medida que define la transformación, el resultado se aplicará a los datos de muestra. Por este motivo, puede evaluar los resultados antes de aplicarlos a los datos reales. Seleccione Editor de transformación para definir la transformación.
En el editor de transformación, puede ver la transformación que se aplicará a los datos antes de su ingesta en la tabla. Los datos entrantes se representan mediante una tabla virtual denominada
source
, que tiene el mismo conjunto de columnas que la propia tabla de destino. La transformación contiene inicialmente una consulta simple que devuelve lasource
tabla sin cambios.Modifique la consulta del ejemplo siguiente:
source | where QueryText !contains 'LAQueryLogs' | extend Context = parse_json(RequestContext) | extend Workspace_CF = tostring(Context['workspaces'][0]) | project-away RequestContext, Context
La modificación realiza los siguientes cambios:
- Elimine las filas relacionadas con las consultas de la propia tabla
LAQueryLogs
para ahorrar espacio, ya que estas entradas de registro no son útiles. - Añada una columna al nombre del área de trabajo que se ha consultado.
- Los datos de la
RequestContext
columna se quitan para ahorrar espacio.
Nota:
Con Azure Portal, la salida de la transformación iniciará cambios en el esquema de tabla si es necesario. Las columnas se agregarán para que coincidan con la salida de transformación si aún no existen. Asegúrese de que la salida no contiene columnas que no desea añadir a la tabla. Si la salida no incluye columnas que ya están en la tabla, esas columnas no se eliminarán, pero no se añadirán datos.
Las columnas personalizadas agregadas a una tabla integrada deben terminar en
_CF
. Las columnas que se añaden a una tabla personalizada no necesitan tener este sufijo. Una tabla personalizada tiene un nombre que termina en_CL
.- Elimine las filas relacionadas con las consultas de la propia tabla
Copie la consulta en el editor de transformación y seleccione Ejecutar para ver los resultados de los datos de ejemplo. Puede comprobar que la nueva columna
Workspace_CF
está en la consulta.Seleccione Aplicar para guardar la transformación y, a continuación, Siguiente para revisar la configuración. Seleccione Crear para actualizar la DCR con la nueva transformación.
Evalúe la transformación
Espere unos 30 minutos para que la transformación surta efecto y, a continuación, pruébela ejecutando una consulta en la tabla. Solo se verán afectados los datos que se envíen a la tabla después de aplicar la transformación.
Para este tutorial, ejecute algunas consultas de ejemplo para enviar datos a la tabla LAQueryLogs
. Incluya algunas consultas en LAQueryLogs
para que pueda comprobar que la transformación filtra estos registros. Observe que la salida tiene la nueva Workspace_CF
columna y que no hay registros para LAQueryLogs
.
Solucionar problemas
En esta sección se describen las distintas condiciones de error que podría recibir y cómo corregirlas.
IntelliSense en Log Analytics no reconoce las columnas nuevas de la tabla.
La caché que dirige IntelliSense puede tardar hasta 24 horas en actualizarse.
La transformación en una columna dinámica no funciona.
Actualmente, se sabe que hay un problema que afecta a las columnas dinámicas. Una solución temporal consiste en analizar explícitamente los datos de columnas dinámicas con parse_json()
antes de realizar cualquier operación en ellas.