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
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:
<*> <*> [INFO] Calling DynamoDB to store for resource id <*>
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 <*>
quando CloudWatch Logs lo visualizza.
Esempi comuni di token dinamici includono codici di errore, timestamp e ID di richiesta. 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 essere501
.
Il rilevamento dei pattern viene utilizzato anche nel rilevatore di anomalie CloudWatch Logs e nelle funzionalità di confronto. Per ulteriori informazioni, consulta 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 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 includepattern
, 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
Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/
. Nel riquadro di navigazione, scegli Logs, Logs Insights.
L'editor di query della pagina Logs Insights contiene una query predefinita che restituisce gli ultimi 20 log eventi.
Rimuovi la
| limit 20
riga nella casella della query, in modo che la query abbia l'aspetto seguente:fields @timestamp, @message, @logStream, @log | sort @timestamp desc
Nel menu a discesa Seleziona gruppi 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 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 1000 record su 71.101 corrispondenti.
Scegli la scheda Patterns.
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 1000 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
<*>
.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à.
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
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.
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 contrassegnatoINFO
con dettagli aggiuntivi, tale modello viene visualizzato qui.
Dettagli sul comando pattern
Questa sezione contiene ulteriori dettagli sul pattern
comando e sui relativi utilizzi.
Nel tutorial precedente, abbiamo rimosso il
sort
comando quando l'abbiamo aggiuntopattern
perché una query non è valida se include unpattern
comando dopo unsort
comando. È valido avere unpattern
precedente asort
.Per ulteriori dettagli sulla
pattern
sintassi, vederepattern.Quando si utilizza
pattern
in una query,@message
deve essere uno dei campi selezionati nelpattern
comando.È possibile includere il
filter
comando prima di unpattern
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, usapattern @fieldname
.Le query con output non di registro, ad esempio le query con il
stats
comando, non restituiscono risultati di pattern.