

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Analisi del modello
<a name="CWL_AnalyzeLogData_Patterns"></a>

CloudWatch Logs Insights utilizza algoritmi di apprendimento automatico per trovare *modelli* quando esegui una query sui log. Un pattern è una struttura di testo condivisa che ricorre tra i campi di registro. Quando visualizzi i risultati di una query, puoi scegliere la scheda **Patterns** per vedere i modelli trovati da CloudWatch Logs in base a un campione dei tuoi risultati. In alternativa, è possibile aggiungere il `pattern` comando alla query per analizzare i modelli nell'intero set di eventi di registro corrispondenti. 

I pattern sono utili per analizzare set di log di grandi dimensioni perché spesso un gran numero di eventi di log può essere compresso in pochi pattern.

Considerate il seguente esempio di tre eventi di 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
```

Nell'esempio precedente, tutti e tre gli eventi di registro seguono uno schema:

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

I campi all'interno di un pattern sono chiamati *token.* *I campi che variano all'interno di uno schema, come l'ID della richiesta o il timestamp, sono token dinamici.* Ogni token dinamico è rappresentato da. `<string-number>` *string*È una descrizione del tipo di dati rappresentato dal token. *number*Mostra dove nel modello appare questo token, rispetto agli altri token dinamici.

Esempi comuni di token dinamici includono codici di errore, timestamp e richieste. IDs Un *valore token* rappresenta un valore particolare di un token dinamico. Ad esempio, se un token dinamico rappresenta un codice di errore HTTP, il valore del token potrebbe essere`501`.

Il rilevamento dei pattern viene utilizzato anche nel rilevatore di anomalie CloudWatch Logs e nelle funzionalità di confronto. Per ulteriori informazioni, consultare [Rilevamento delle anomalie nei registri](LogsAnomalyDetection.md) e [Confronta (diff) con gli intervalli di tempo precedenti](CWL_AnalyzeLogData_Compare.md).

## Guida introduttiva all'analisi dei pattern
<a name="CWL_AnalyzeLogData_Patterns-GetStarted"></a>

Il rilevamento dei pattern viene eseguito automaticamente in qualsiasi query di CloudWatch Logs Insights. Le query che non includono il `pattern` comando ottengono sia gli eventi che i modelli di registro nei risultati.

Se si include il `pattern` comando nella query, l'analisi dei pattern viene eseguita sull'intero set di eventi di registro corrispondenti. Ciò consente di ottenere risultati di pattern più accurati, ma gli eventi di log non elaborati non vengono restituiti quando si utilizza il `pattern` comando. Quando una query non include`pattern`, i risultati del modello si basano sui primi 1000 eventi di registro restituiti o sul valore limite utilizzato nella query. Se si include `pattern` nella query, i risultati visualizzati nella scheda **Patterns** derivano da tutti gli eventi di registro corrispondenti alla query.

**Per iniziare con l'analisi dei pattern in CloudWatch Logs Insights**

1. Apri la CloudWatch console all'indirizzo [https://console.aws.amazon.com/cloudwatch/](https://console.aws.amazon.com/cloudwatch/).

1. Nel pannello di navigazione scegli **Logs**, quindi **Logs Insights**.

   L'editor di query della pagina **Logs Insights** contiene una query predefinita che restituisce gli ultimi 20 log eventi.

1. Rimuovete la `| limit 20` riga nella casella di interrogazione, in modo che la query abbia il seguente aspetto:

   ```
   fields @timestamp, @message, @logStream, @log
   | sort @timestamp desc
   ```

1. Nel **menu a discesa Seleziona gruppi di log**, scegli uno o più gruppi di log da interrogare.

1. (Facoltativo) Utilizza il selettore temporale per selezionare un periodo di tempo per il quale desideri eseguire query.

   Puoi scegliere tra intervalli di 5 e 30 minuti, intervalli di 1 ora, 3 ore e 12 ore o un intervallo di tempo personalizzato.

1. Scegli **Esegui interrogazione per avviare** l'interrogazione.

   Al termine dell'esecuzione della query, la scheda **Registri** visualizza una tabella degli eventi di registro restituiti dalla query. Sopra la tabella c'è un messaggio che indica quanti record corrispondono alla query, simile a **Mostra 10.000 record su 71.101** corrispondenti.

1. **Scegli la scheda Patterns.**

1. La tabella ora mostra i modelli trovati nella query. Poiché la query non includeva il `pattern` comando, questa scheda mostra solo i modelli rilevati tra i 10.000 eventi di registro mostrati nella tabella della scheda **Registri.**

   Per ogni pattern, vengono visualizzate le seguenti informazioni:
   + Il **modello**, con ogni token dinamico visualizzato come`<string-number>`. *string*È una descrizione del tipo di dati rappresentato dal token. *number*Mostra dove nel modello appare questo token, rispetto agli altri token dinamici.
   + Il **conteggio degli eventi**, che è il numero di volte in cui il pattern è apparso negli eventi del registro interrogati. Scegli l'intestazione della colonna **Conteggio degli eventi** per ordinare i modelli in base alla frequenza.
   + Il **rapporto degli eventi**, che è la percentuale degli eventi di registro interrogati che contengono questo modello. 
   + Il **tipo di severità**, che sarà uno dei seguenti:
     + **ERRORE** se il pattern contiene la parola **Error**.
     + **AVVISA** **se il pattern contiene la parola **Warn** ma non contiene Error.**
     + **INFO** **se il pattern non contiene né **Warn né Error.****

     Scegli l'intestazione della colonna **Informazioni sulla gravità** per ordinare i modelli in base alla gravità.

1. Ora cambia la query. Sostituite la `| sort @timestamp desc` riga dell'interrogazione con`| pattern @message`, in modo che l'interrogazione completa sia la seguente:

   ```
   fields @timestamp, @message, @logStream, @log
   | pattern @message
   ```

1. Scegli **Esegui query**.

   Al termine dell'interrogazione, non ci sono risultati nella scheda **Registri.** Tuttavia, è probabile che la scheda **Patterns** contenga un numero maggiore di pattern elencati, a seconda del numero totale di eventi di registro che sono stati interrogati.

1. Indipendentemente dal fatto che l'interrogazione sia stata inclusa `pattern` o meno, è possibile esaminare ulteriormente i pattern restituiti dalla query. A tale scopo, scegliete l'icona nella colonna **Ispeziona** per uno dei motivi. 

   Viene visualizzato il riquadro **Pattern Inspect** che mostra quanto segue: 
   + Il **modello.** Seleziona un token all'interno del pattern per analizzare i valori di quel token.
   + Un istogramma che mostra il numero di occorrenze del pattern nell'intervallo di tempo richiesto. Questo può aiutarvi a identificare tendenze interessanti, ad esempio un aumento improvviso della ricorrenza di un pattern.
   + La scheda **Registra esempi** mostra alcuni degli eventi di registro che corrispondono al modello selezionato.
   + La scheda **Valori dei token** mostra i valori del token dinamico selezionato, se ne è stato selezionato uno.
**Nota**  
Per ogni token vengono acquisiti un massimo di 10 valori di token. Il conteggio dei token potrebbe non essere preciso. CloudWatch Logs utilizza un contatore probabilistico per generare il conteggio dei token, non il valore assoluto.
   + La scheda **Schemi correlati** mostra altri motivi che si sono verificati frequentemente più o meno nello stesso periodo del modello che si sta esaminando. Ad esempio, se lo schema di un `ERROR` messaggio era in genere accompagnato da un altro evento di registro contrassegnato `INFO` con dettagli aggiuntivi, tale modello viene visualizzato qui.

## Dettagli sul comando pattern
<a name="CWL_AnalyzeLogData_Patterns-Details"></a>

Questa sezione contiene ulteriori dettagli sul `pattern` comando e sui relativi utilizzi.
+ Nel tutorial precedente, abbiamo rimosso il `sort` comando quando l'abbiamo aggiunto `pattern` perché una query non è valida se include un `pattern` comando dopo un `sort` comando. È valido avere un `pattern` precedente a`sort`.

   Per ulteriori dettagli sulla `pattern` sintassi, vedere[pattern](CWL_QuerySyntax-Pattern.md).
+ Quando si utilizza `pattern` in una query, `@message` deve essere uno dei campi selezionati nel `pattern` comando.
+ È possibile includere il `filter` comando prima di un `pattern` comando per fare in modo che solo l'insieme filtrato di eventi di registro venga utilizzato come input per l'analisi dei modelli.
+ Per visualizzare i risultati del pattern per un campo particolare, ad esempio un campo derivato dal `parse` comando, usa`pattern @fieldname`.
+ Le query con output non di registro, ad esempio le query con il `stats` comando, non restituiscono risultati di pattern.

