Analisi del modello - CloudWatch Registri Amazon

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
  1. Apri la CloudWatch console all'indirizzo https://console.aws.amazon.com/cloudwatch/.

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

  3. 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
  4. Nel menu a discesa Seleziona gruppi di log, scegli uno o più gruppi di log da interrogare.

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

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

  7. Scegli la scheda Patterns.

  8. 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à.

  9. 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
  10. 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.

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

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

    Per ulteriori dettagli sulla pattern sintassi, vederepattern.

  • 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, usapattern @fieldname.

  • Le query con output non di registro, ad esempio le query con il stats comando, non restituiscono risultati di pattern.