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 dei pattern
CloudWatch Logs Insights utilizza algoritmi di machine learning per trovare i pattern quando interroghi i tuoi log. Un pattern è una struttura di testo condivisa che ricorre tra i campi di log. Quando visualizzi i risultati di una query, puoi scegliere la scheda Pattern per visualizzare i pattern trovati dai CloudWatch log in base a un campione dei tuoi risultati. In alternativa, puoi aggiungere il pattern comando alla tua query per analizzare i pattern nell'intero set di eventi di log corrispondenti.
I pattern sono utili per analizzare set di log di grandi dimensioni perché un gran numero di eventi di log può spesso 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 denominati token. I campi che variano all'interno di uno schema, come l'ID di una richiesta o il timestamp, sono token dinamici. Ogni token dinamico è rappresentato da. < string-number>stringÈ una descrizione del tipo di dati che il token rappresenta. numberMostra dove appare questo token nel pattern, rispetto agli altri token dinamici.
Esempi comuni di token dinamici includono codici di errore, timestamp e ID di richiesta. Un valore di token rappresenta un valore particolare di un token dinamico. Ad esempio, se un token dinamico rappresenta un codice di errore HTTP, il valore di un token potrebbe esserlo501.
Il rilevamento dei pattern viene utilizzato anche nel rilevatore di anomalie CloudWatch Logs e nelle funzioni di confronto. Per ulteriori informazioni, consultare Rilevamento delle anomalie nei registri e Confronta (diff) con gli intervalli di tempo precedenti.
Guida introduttiva all'analisi dei pattern
Il rilevamento dei pattern viene eseguito automaticamente in qualsiasi query di CloudWatch Logs Insights. Le query che non includono il pattern comando generano sia eventi di log che pattern nei risultati.
Se includi il pattern comando nella tua query, l'analisi del modello viene eseguita sull'intero set di eventi di registro corrispondente. 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 includepattern, i risultati dello schema si basano sui primi 1000 eventi di log restituiti o sul valore limite utilizzato nella query. Se includi pattern nella query, i risultati visualizzati nella scheda Patterns derivano da tutti gli eventi di log corrispondenti alla query.
Per iniziare con l'analisi dei pattern in CloudWatch Logs Insights
Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/
. -
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.
-
Rimuovi la
| limit 20riga nella casella della query, in modo che la query abbia il seguente aspetto:fields @timestamp, @message, @logStream, @log | sort @timestamp desc -
Nel menu a discesa Seleziona gruppo/i di log, scegli uno o più gruppi di log da interrogare.
-
(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.
-
Scegli Esegui interrogazione per avviare la query.
Al termine dell'esecuzione della query, la scheda Registri visualizza una tabella degli eventi di registro restituiti dalla query. Sopra la tabella è riportato un messaggio sul numero di record corrispondenti alla query, simile a Visualizzazione di 10.000 record su 71.101 corrispondenti.
-
Scegli la scheda Patterns.
-
La tabella ora mostra i pattern trovati nella query. Poiché la query non includeva il
patterncomando, questa scheda visualizza solo i pattern rilevati tra i 10.000 eventi di log mostrati nella tabella nella scheda Logs.Per ogni pattern, vengono visualizzate le seguenti informazioni:
-
Il Pattern, con ogni token dinamico visualizzato come
<.string-number>stringÈ una descrizione del tipo di dati che il token rappresenta.numberMostra dove appare questo token nel pattern, rispetto agli altri token dinamici. -
Il numero di eventi, ovvero il numero di volte in cui il pattern è apparso negli eventi di registro richiesti. Scegliete l'intestazione della colonna Conteggio eventi per ordinare i pattern in base alla frequenza.
-
Il rapporto degli eventi, che è la percentuale degli eventi del registro interrogati che contengono questo modello.
-
Il tipo di gravità, che sarà uno dei seguenti:
-
ERROR 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à.
-
-
-
Ora modifica la query. Sostituisci la
| sort @timestamp descriga della query con| pattern @message, in modo che la query completa sia la seguente:fields @timestamp, @message, @logStream, @log | pattern @message -
Scegli Esegui query.
Al termine dell'interrogazione, non ci sono risultati nella scheda Log. Tuttavia, la scheda Patterns probabilmente contiene un numero maggiore di pattern elencati, a seconda del numero totale di eventi di log interrogati.
-
Indipendentemente dal fatto che tu lo abbia incluso
patternnella query, puoi controllare ulteriormente i pattern restituiti dalla query. A tale scopo, scegliete l'icona nella colonna Ispeziona relativa a uno dei pattern.Viene visualizzato il riquadro Pattern inspect che mostra quanto segue:
-
Il Pattern. Seleziona un token all'interno del pattern per analizzarne i valori.
-
Un istogramma che mostra il numero di occorrenze del pattern nell'intervallo di tempo richiesto. Questo può aiutarti a identificare tendenze interessanti, ad esempio un improvviso aumento della presenza di un pattern.
-
La scheda Log samples mostra alcuni degli eventi di log che corrispondono al pattern selezionato.
-
La scheda Valori dei token mostra i valori del token dinamico selezionato, se ne hai 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 modelli che si sono verificati frequentemente quasi contemporaneamente al modello che si sta esaminando. Ad esempio, se uno schema di un
ERRORmessaggio era in genere accompagnato da un altro evento di registro contrassegnato comeINFOcontenente dettagli aggiuntivi, tale modello viene visualizzato qui.
-
Dettagli sul comando pattern
Questa sezione contiene ulteriori dettagli sul pattern comando e sui suoi usi.
-
Nel tutorial precedente, abbiamo rimosso il
sortcomando quando lo abbiamo aggiuntopatternperché una query non è valida se include unpatterncomando dopo unsortcomando. È valido avere unpatternprima di unsort.Per ulteriori dettagli sulla
patternsintassi, vederepattern. -
Quando si utilizza
patternin una query,@messagedeve essere uno dei campi selezionati nelpatterncomando. -
È possibile includere il
filtercomando prima di unpatterncomando per far sì che solo il set filtrato di eventi di registro venga utilizzato come input per l'analisi dei pattern. -
Per visualizzare i risultati dello schema per un campo particolare, ad esempio un campo derivato dal
parsecomando, usapattern @fieldname. -
Le interrogazioni con output non logaritmico, ad esempio le interrogazioni con il
statscomando, non restituiscono risultati basati su pattern.