Análisis de patrones - 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 de patrones

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 en los campos de registro. Al ver los resultados de una consulta, puede seleccionar la pestaña Patrones para ver los patrones que los CloudWatch registros encontraron a partir de una muestra de sus resultados. Como alternativa, puede añadir el pattern comando 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.

Considere 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:

<*> <*> [INFO] Calling DynamoDB to store for resource id <*>

Los campos dentro de un patrón se denominan fichas. 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 se representa <*> cuando CloudWatch Logs lo muestra.

Algunos ejemplos comunes de tokens dinámicos son los códigos de error, las marcas de tiempo y los identificadores de solicitud. 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, el valor del token podría ser501.

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 de registro y Compara (diferencia) con intervalos de tiempo anteriores.

Cómo empezar con el 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 pattern comando registran tanto los eventos como los patrones en los resultados.

Si incluye el pattern comando 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 los eventos de registro sin procesar no se devuelven cuando se utiliza el pattern comando. Cuando una consulta no incluyepattern, 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 coinciden con 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 Logs, Logs Insights.

    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 | limit 20 línea 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 registros, elija uno o más grupos de registros para realizar la consulta.

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

    Puede elegir entre intervalos de 5 y 30 minutos; intervalos de 1 hora, 3 horas y 12 horas; o un período de tiempo personalizado.

  6. Seleccione Ejecutar consulta para iniciar la consulta.

    Cuando la consulta termina de ejecutarse, la pestaña Registros muestra una tabla de eventos de registro devueltos por la consulta. Encima de la tabla hay un mensaje sobre el número de registros que coinciden con la consulta, similar a Mostrar 1000 de los 71.101 registros que coinciden.

  7. Seleccione la pestaña Patrones.

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

    Para cada patrón, se muestra la siguiente información:

    • El patrón, en el que cada símbolo dinámico se muestra como<*>.

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

      • AVISE si el patrón contiene la palabra Advertir pero no contiene error.

      • INFORMACIÓN si el patrón no contiene advertencia ni error.

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

  9. Ahora cambia la consulta. Sustituya la | sort @timestamp desc línea 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 los has incluido pattern en la consulta, puedes inspeccionar más a fondo los patrones que devuelve la consulta. Para ello, elija el icono de uno de los patrones en la columna Inspeccionar.

    Aparece el panel de 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 apariciones del 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 Registrar muestras 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 ha seleccionado uno.

      nota

      Se captura un máximo de 10 valores de token para 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 se está inspeccionando. Por ejemplo, si el patrón de un ERROR mensaje solía ir acompañado de otro evento de registro marcado INFO con detalles adicionales, ese patrón se muestra aquí.

Detalles sobre el comando pattern

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

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

    Para obtener más información sobre pattern la sintaxis, consultepattern.

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

  • Puede incluir el filter comando antes de un pattern comando 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 parse comando, utilicepattern @fieldname.

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