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:

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 WorkspaceTransformsregla 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.

  1. En el menú Áreas de trabajo de Log Analytics de Azure Portal, seleccione Configuración de diagnóstico>Agregar configuración de diagnóstico.

    Captura de pantalla que muestra la configuración de diagnóstico.

  2. 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.

    Captura de pantalla que muestra la nueva configuración de diagnóstico.

  3. 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.

    Captura de pantalla que muestra registros de consultas de ejemplo.

Añadir una transformación a la tabla

Ahora que se ha creado la tabla, puede crear la transformación para ella.

  1. 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).

    Captura de pantalla que muestra la creación de una transformación nueva.

  2. 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.

    Captura de pantalla que muestra la creación de una nueva regla de recopilación de datos.

  3. 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.

    Captura de pantalla de datos de ejemplo de la tabla del registro.

  4. 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 la sourcetabla sin cambios.

  5. 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.

  6. 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.

    Captura de pantalla en la que se muestra el editor de transformación.

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

    Captura de pantalla en la que se muestra cómo se guarda la 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.

Pasos siguientes