

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
<a name="CWL_AnalyzeLogData_Patterns"></a>

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 ID de solicitud o una marca de tiempo, son *tokens dinámicos*. Cada token dinámico está representado por `<string-number>`. *string*Es una descripción del tipo de datos que representa el token. *number*Muestra 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](LogsAnomalyDetection.md) y [Comparación (diferencia) con intervalos de tiempo anteriores](CWL_AnalyzeLogData_Compare.md).

## Introducción al análisis de patrones
<a name="CWL_AnalyzeLogData_Patterns-GetStarted"></a>

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/](https://console.aws.amazon.com/cloudwatch/).

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

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

1. En el menú desplegable **Seleccionar grupos de registro**, elija uno o varios grupos de registro que va a consultar.

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

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

1. Seleccione la pestaña **Patrones**.

1. 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>`. *string*Es una descripción del tipo de datos que representa el token. *number*Muestra 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.

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

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

1. 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
<a name="CWL_AnalyzeLogData_Patterns-Details"></a>

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](CWL_QuerySyntax-Pattern.md).
+ 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.

