Análisis del patrón - Amazon CloudWatch Logs

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Análisis del patrón

CloudWatch Logs Insights utiliza algoritmos de aprendizaje automático para encontrar patrones cuando consultas tus registros. Un patrón es una estructura de texto compartida que se repite entre los campos de registro. Al ver los resultados de una consulta, puedes elegir la pestaña Patrones para ver los patrones que encontró CloudWatch Logs a partir de una muestra de tus resultados. Como alternativa, puede añadir el comando pattern a la consulta para analizar los patrones de todo el conjunto de eventos de registro coincidentes.

Los patrones son útiles para analizar conjuntos de registros grandes porque, a menudo, una gran cantidad de eventos de registro se pueden comprimir en unos pocos patrones.

Estudie el siguiente ejemplo de tres eventos de registro.

2023-01-01 19:00:01 [INFO] Calling DynamoDB to store for resource id 12342342k124-12345 2023-01-01 19:00:02 [INFO] Calling DynamoDB to store for resource id 324892398123-12345 2023-01-01 19:00:03 [INFO] Calling DynamoDB to store for resource id 3ff231242342-12345

En el ejemplo anterior, los tres eventos de registro siguen un patrón:

<Time-1> [INFO] Calling DynamoDB to store for resource id <ID-2>

Los campos dentro de un patrón se denominan tokens. Los campos que varían dentro de un patrón, como un identificador de solicitud o una marca de tiempo, son símbolos dinámicos. Cada token dinámico está representado por. <string-number> stringEs una descripción del tipo de datos que representa el token. numberMuestra en qué parte del patrón aparece este token, en comparación con los otros tokens dinámicos.

Algunos ejemplos comunes de tokens dinámicos son los códigos de error, las marcas de tiempo y las solicitudes. IDs El valor de un token representa un valor concreto de un token dinámico. Por ejemplo, si un token dinámico representa un código de error HTTP, entonces el valor del token podría ser 501.

La detección de patrones también se utiliza en el detector de anomalías de CloudWatch Logs y en las funciones de comparación. Para obtener más información, consulte Detección de anomalías en registros y Comparación (diferencia) con intervalos de tiempo anteriores.

Introducción al análisis de patrones

La detección de patrones se realiza automáticamente en cualquier consulta de CloudWatch Logs Insights. Las consultas que no incluyen el comando pattern registran tanto los eventos como los patrones en los resultados.

Si incluye el comando pattern en la consulta, el análisis de patrones se realiza en todo el conjunto de eventos de registro coincidentes. Esto proporciona resultados de patrones más precisos, pero recuerde que los eventos de registro sin procesar no se devuelven cuando se utiliza el comando pattern. Cuando una consulta no incluye pattern, los resultados del patrón se basan en los primeros 1000 eventos de registro devueltos o en el valor límite que utilizó en la consulta. Si lo incluye pattern en la consulta, los resultados que se muestran en la pestaña Patrones se derivan de todos los eventos de registro que hizo coincidir la consulta.

Para empezar con el análisis de patrones en CloudWatch Logs Insights
  1. Abra la CloudWatch consola en https://console.aws.amazon.com/cloudwatch/.

  2. En el panel de navegación, elija Registros y luego, Información de registros.

    En la página Información de registros, el editor de consultas contiene una consulta predeterminada que devuelve los 20 eventos de registro más recientes.

  3. Elimine la línea | limit 20 del cuadro de consulta para que la consulta tenga el siguiente aspecto:

    fields @timestamp, @message, @logStream, @log | sort @timestamp desc
  4. En el menú desplegable Seleccionar grupos de registro, elija uno o varios grupos de registro que va a consultar.

  5. (Opcional) Utilice el selector de tiempo para seleccionar el periodo de tiempo que desea consultar.

    Puede elegir entre intervalos de 5 a 30 minutos; intervalos de 1, 3 y 12 horas; o un marco temporal personalizado.

  6. Seleccione Ejecutar consulta para iniciar la consulta.

    Cuando la consulta termina de ejecutarse, la pestaña Registros muestra una tabla con los eventos de registro que ha devuelto la consulta. Encima de la tabla hay un mensaje que indica el número de registros que coinciden con la consulta, similar a Mostrando 10 000 de 71 101 registros coincidentes.

  7. Seleccione la pestaña Patrones.

  8. La tabla muestra ahora los patrones que se encontraron en la consulta. Como la consulta no incluía el comando pattern, en esta pestaña solo se muestran los patrones detectados entre los 10 000 eventos de registro que se muestran en la tabla en la pestaña Registros.

    En cada patrón se muestra la siguiente información:

    • El Patrón, en el que cada token dinámico se muestra como <string-number>. stringEs una descripción del tipo de datos que representa el token. numberMuestra en qué parte del patrón aparece este token, en comparación con los otros tokens dinámicos.

    • El Recuento de eventos, que es el número de veces que el patrón apareció en el registro de eventos consultado. Elija el encabezado de columna Recuento de eventos para ordenar los patrones por frecuencia.

    • La Proporción de eventos, que es el porcentaje de eventos del registro consultados que contienen este patrón.

    • El Tipo de gravedad, que será uno de los siguientes:

      • ERROR si el patrón contiene la palabra Error.

      • ADVERTENCIA si el patrón contiene la palabra Advertencia, pero no contiene Error.

      • INFORMACIÓN si el patrón no contiene las palabras Advertencia ni Error.

      Elija el encabezado de columna Información sobre la gravedad para ordenar los patrones por gravedad.

  9. A continuación, cambie la consulta. Sustituya la línea | sort @timestamp desc de la consulta por | pattern @message, de modo que la consulta completa quede de la siguiente manera:

    fields @timestamp, @message, @logStream, @log | pattern @message
  10. Elija Ejecutar consulta.

    Cuando finalice la consulta, no habrá resultados en la pestaña Registros. Sin embargo, es probable que la pestaña Patrones muestre un mayor número de patrones, en función del número total de eventos de registro que se hayan consultado.

  11. Independientemente de si ha incluido pattern en la consulta, puede inspeccionar con más detalle los patrones que devuelve la consulta. Para ello, elija el icono de uno de los patrones en la columna Inspeccionar.

    Aparecerá el panel Inspección de patrones, que muestra lo siguiente:

    • El Patrón. Seleccione un token dentro del patrón para analizar los valores de ese token.

    • Un histograma que muestra el número de veces que aparece el patrón en el intervalo de tiempo consultado. Esto puede ayudarle a identificar tendencias interesantes, como un aumento repentino de la aparición de un patrón.

    • La pestaña Muestras de registro muestra algunos de los eventos de registro que coinciden con el patrón seleccionado.

    • La pestaña Valores del token muestra los valores del token dinámico seleccionado, si es que seleccionó uno.

      nota

      Se captura un máximo de 10 valores de token por cada token. Es posible que los recuentos de fichas no sean precisos. CloudWatch Logs utiliza un contador probabilístico para generar el recuento de fichas, no el valor absoluto.

    • La pestaña Patrones relacionados muestra otros patrones que se han producido con frecuencia casi al mismo tiempo que el patrón que está analizando. Por ejemplo, si el patrón de un mensaje de ERROR solía ir acompañado de otro evento de registro marcado como INFO con detalles adicionales, ese patrón se muestra aquí.

Detalles sobre el comando pattern

Esta sección contiene más detalles sobre el comando pattern y sus usos.

  • En el tutorial anterior, eliminamos el comando sort cuando agregamos pattern, porque una consulta no es válida si incluye un comando pattern después de un comando sort. Puede tener un comando pattern antes de sort.

    Para obtener más detalles acerca de la sintaxis pattern, consulte pattern.

  • Cuando se utiliza pattern en una consulta, @message debe ser uno de los campos seleccionados en el comando pattern.

  • Puede incluir el comando filter antes de un comando pattern para que solo el conjunto filtrado de eventos de registro se utilice como entrada para el análisis de patrones.

  • Para ver los resultados del patrón de un campo concreto, como un campo derivado del comando parse, utilice pattern @fieldname.

  • Las consultas con un resultado que no sea de registro, como las consultas realizadas con el comando stats, no devuelven resultados de patrones.