Recopilación de registros de texto con el agente de Log Analytics en Azure Monitor

El origen de datos de registros personalizados para el agente de Log Analytics en Azure Monitor permite recopilar eventos de archivos de texto en equipos Windows y Linux. Muchas aplicaciones registran información en archivos de texto, en lugar de los servicios de registro estándar, como el registro de eventos de Windows o Syslog. Una vez recopilados los datos, puede analizar los datos en campos individuales en las consultas o extraerlos durante la recopilación de campos individuales.

Importante

En este artículo se describe cómo recopilar un registro de texto con el agente de Log Analytics. Si usa el agente de Azure Monitor, consulte Recopilación de registros de texto con el agente de Azure Monitor.

Importante

El agente de Log Analyticsheredado quedará en desuso en agosto de 2024. Después de esta fecha, Microsoft ya no proporcionará soporte técnico para el agente de Log Analytics. Migre al agente de Azure Monitor antes de agosto de 2024 para continuar con la ingesta de datos.

Diagram that shows custom log collection.

Los archivos de registro que se van a recopilar deben cumplir los criterios siguientes:

  • El registro debe tener una sola entrada por línea o usar una marca de tiempo que coincida con uno de los formatos siguientes al principio de cada entrada:

    AAAA-MM-DD HH:MM:SS
    M/D/AAAA HH:MM:SS AM/PM
    Mes DD, AAAA HH:MM:SS
    aaMMdd HH:mm:ss
    ddMMaa HH:mm:ss
    MMM d hh:mm:ss
    dd/MMM/aaaa:HH:mm:ss zzz
    aaaa-MM-ddTHH:mm:ssK

  • El archivo de registro no debe permitir registros circulares. La rotación de registros es donde el archivo se sobrescribe con nuevas entradas o se cambia su nombre y se reutiliza el mismo nombre de archivo para el registro continuado.

  • El archivo de registro debe utilizar la codificación ASCII o UTF-8. No se admiten otros formatos, como UTF-16.

  • En Linux, la conversión de zona horaria no se admite con las marcas de tiempo de los registros.

  • Como procedimiento recomendado, el archivo de registro debe incluir la fecha y hora en que se creó para evitar la sobrescritura o el cambio de nombre de la rotación de registros.

Nota

Si hay entradas duplicadas en el archivo de registro, Azure Monitor las recopila. Los resultados de la consulta que se generan serán incoherentes. Los resultados del filtro mostrarán más eventos que el recuento de resultados. Debe validar el registro para determinar si la aplicación que lo crea está causando este comportamiento. Solucione el problema, si es posible, antes de crear la definición de recopilación de registros personalizada.

Cada área de trabajo de Log Analytics admite los límites siguientes:

  • Solo se pueden crear 500 registros personalizados.
  • Una tabla solo admite hasta 500 columnas.
  • El número máximo de caracteres para el nombre de columna es 500.

Importante

La recopilación de registros personalizados requiere que la aplicación que escribe el archivo de registro vacíe el contenido del registro en el disco de forma periódica. Esto se debe a que la colección de registros personalizados depende de las notificaciones de cambios en el sistema de archivos para el archivo de registro del que se realiza el seguimiento.

Definición de una tabla de registro personalizada

Utilice el procedimiento siguiente para definir una tabla de registro personalizada. Desplácese hasta el final de este artículo para ver un tutorial con un ejemplo de cómo agregar un registro personalizado.

Apertura del asistente para registros personalizados

El asistente para registros personalizados se ejecuta en Azure Portal y le permite definir un nuevo registro personalizado para la recopilación.

  1. En Azure Portal, seleccione Áreas de trabajo de Log Analytics> su área de trabajo >Tablas.

  2. Seleccione Crear y, a continuación, Nuevo registro personalizado (basado en MMA).

    De forma predeterminada, todos los cambios realizados en la configuración se insertan automáticamente en todos los agentes. En el caso de los agentes de Linux, se envía un archivo de configuración al recopilador de datos Fluentd.

Carga y análisis de un registro de ejemplo

Para empezar, cargue una muestra del registro personalizado. El Asistente analizará y mostrará las entradas de este archivo para que las valide. Azure Monitor usará el delimitador especificado para identificar cada registro.

Nueva línea es el delimitador predeterminado y se utiliza para los archivos de registro que tienen una sola entrada por línea. Si la línea empieza con una fecha y hora en uno de los formatos disponibles, puede especificar un delimitador de marca de tiempo que admita entradas que abarcan más de una línea.

Si se usa un delimitador de marca de tiempo, la propiedad TimeGenerated de cada registro almacenado en Azure Monitor se rellenará con la fecha y la hora especificadas para esa entrada en el archivo de registro. Si se usa un delimitador de nueva línea, TimeGenerated se rellena con la fecha y hora en que Azure Monitor ha recopilado la entrada.

  1. Haga clic en Browse (Examinar) y vaya a un archivo de ejemplo. Este botón puede etiquetarse como Choose File (Elegir archivo) en algunos exploradores.

  2. Seleccione Next (Siguiente).

    El asistente para registros personalizados carga el archivo y muestra los registros que identifique.

  3. Cambie el delimitador que se usa para identificar un nuevo registro. Seleccione el delimitador que mejor identifique los registros en el archivo de registro.

  4. Seleccione Next (Siguiente).

Incorporación de rutas de recopilación de registros

Debe definir una o más rutas de acceso en el agente para colocar el registro personalizado. Puede proporcionar un nombre y una ruta de acceso específicos para el archivo de registro, o bien puede especificar una ruta de acceso con un carácter comodín para el nombre. Esto admite aplicaciones que crean un archivo nuevo cada día o cuando un archivo alcanza un tamaño determinado. También puede proporcionar varias rutas de acceso para un solo archivo de registro.

Por ejemplo, una aplicación puede crear un archivo de registro cada día con la fecha incluida en el nombre, como registro20100316.txt. Un patrón para dicho registro podría ser log*.txt, que se aplicará a cualquier archivo de registro que siga el esquema de asignación de nombres de la aplicación.

La tabla siguiente proporciona ejemplos de patrones válidos para especificar diferentes archivos de registro.

Descripción Path
Todos los archivos en C:\Logs con la extensión .txt en el agente de Windows C:\Logs\*.txt
Todos los archivos en C:\Logs con un nombre que empieza un registro y una extensión .txt en el agente de Windows C:\Logs\log*.txt
Todos los archivos en /var/log/audit con la extensión .txt en el agente de Linux /var/log/audit/*.txt
Todos los archivos en /var/log/audit con un nombre que empieza con registro y una extensión .txt en el agente de Linux /var/log/audit/registro*.txt
  1. Seleccione Windows o Linux para especificar qué formato de ruta de acceso va a agregar.
  2. Escriba la ruta de acceso y seleccione el botón+.
  3. Repita el proceso para rutas de acceso adicionales.

Suministro de un nombre y una descripción del registro

El nombre que especifique se utilizará para el tipo de registro como se describió anteriormente. Siempre finalizará con _CL para distinguirlo como un registro personalizado.

  1. Escriba el nombre para el registro. El sufijo _CF se anexa automáticamente.
  2. Agregue una Descripciónopcional.
  3. Haga clic en Next (Siguiente) para guardar la definición del registro personalizado.

Comprobación de que se recopilan los registros personalizados

Los datos iniciales de un nuevo registro personalizado pueden tardar hasta una hora en aparecer en Azure Monitor. Azure Monitor empezará a recopilar las entradas de los registros que se encuentran en la ruta de acceso que ha especificado a partir del punto que definió en el registro personalizado. No conservará las entradas que cargó durante la creación del registro personalizado. Recopilará las entradas ya existentes en los archivos de registro que localice.

Una vez que Azure Monitor empieza a recopilar del registro personalizado, sus registros estarán disponibles con una consulta de registros. Utilice el nombre que asignó al registro personalizado como Type en la consulta.

Nota

Si falta la propiedad RawData en la consulta, es posible que tenga que cerrar y volver a abrir el explorador.

Análisis de las entradas del registro personalizado

La entrada de registro completa se almacenará en una sola propiedad denominada RawData. Probablemente le interesará separar los diferentes fragmentos de información de cada entrada en propiedades individuales para cada registro. Para obtener opciones de análisis de RawData en varias propiedades, consulte Análisis de datos de texto en Azure Monitor.

Eliminación de una tabla de registro personalizada

Vea Eliminación de una tabla.

datos, recopilación

Azure Monitor recopilará nuevas entradas de cada registro personalizado aproximadamente cada cinco minutos. El agente registrará su lugar en cada archivo de registro del que se recopila. Si el agente se desconecta durante un período de tiempo, Azure Monitor recopilará entradas a partir de donde lo haya dejado, incluso si se crearon mientras el agente estaba sin conexión.

Todo el contenido de la entrada del registro se escribe en una sola propiedad denominada RawData. Para obtener métodos con el fin de analizar cada entrada de registro importada en varias propiedades, consulte Análisis de datos de texto en Azure Monitor.

Propiedades de las entradas del registro personalizado

Las entradas del registro personalizado tienen un tipo con el nombre del registro que asigne y las propiedades en la tabla siguiente.

Propiedad Descripción
TimeGenerated Fecha y hora en las que Azure Monitor recopiló el registro. Si el registro usa un delimitador basado en el tiempo, es el tiempo recopilado en la entrada.
SourceSystem Tipo de agente del que se recopiló el registro.
OpsManager: agente de Windows, ya sea una conexión directa o System Center Operations Manager
Linux: todos los agentes de Linux.
RawData Texto completo de la entrada recopilada. Probablemente le interesará analizar estos datos en propiedades individuales.
ManagementGroupName Nombre del grupo de administración de agentes de System Center Operations Manager. En el caso de los otros agentes, el nombre es <id. de área de trabajo> de AOI.

Ejemplo de tutorial de agregar un registro personalizado

La siguiente sección le guiará por un ejemplo de creación de un registro personalizado. El registro de ejemplo que se recopila tiene una sola entrada en cada línea que empieza con una fecha y hora, después, campos delimitados por comas para el código, el estado y el mensaje. Se muestran varias entradas de ejemplo.

2019-08-27 01:34:36 207,Success,Client 05a26a97-272a-4bc9-8f64-269d154b0e39 connected
2019-08-27 01:33:33 208,Warning,Client ec53d95c-1c88-41ae-8174-92104212de5d disconnected
2019-08-27 01:35:44 209,Success,Transaction 10d65890-b003-48f8-9cfc-9c74b51189c8 succeeded
2019-08-27 01:38:22 302,Error,Application could not connect to database
2019-08-27 01:31:34 303,Error,Application lost connection to database

Carga y análisis de un registro de ejemplo

Se proporciona uno de los archivos de registro, y puede ver los eventos que se recopilarán. En este caso, Nueva línea es un delimitador suficiente. Sin embargo, si una sola entrada en el registro puede abarcar varias líneas, es necesario usar un delimitador de marca de tiempo.

Screenshot that shows uploading and parsing a sample log.

Incorporación de rutas de recopilación de registros

Los archivos de registro se colocarán en C:\MyApp\Logs. Se creará un archivo nuevo cada día con un nombre que incluye la fecha con el patrón appAAAAMMDD.log. Un patrón suficiente para este registro sería C:\MyApp\Logs\*.log.

Screenshot that shows adding a log collection path.

Suministro de un nombre y una descripción del registro

Use el nombre MyApp_CL y escriba una descripción en el campo Descripción.

Screenshot that shows adding a log name.

Comprobación de que se recopilan los registros personalizados

Utilice una consulta simple de Type=MyApp_CL para devolver todos los registros desde el registro recopilado.

Screenshot that shows a log query with no custom fields.

Alternativas a los registros personalizados

Aunque los registros personalizados son útiles si los datos cumplen los criterios anteriores, hay casos en los que se necesita otra estrategia:

  • Los datos no se ajustan a la estructura necesaria, como tener la marca de tiempo en un formato diferente.
  • El archivo de registro no cumple los requisitos como la codificación de archivos o una estructura de carpetas no admitida.
  • Los datos requieren el preprocesamiento o el filtrado antes de la colección.

En los casos donde no se pueden recopilar los datos con los registros personalizados, tenga en cuenta las siguientes estrategias alternativas:

Pasos siguientes