View a markdown version of this page

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

parse

parseUtilizzatelo per estrarre dati da un campo di registro e creare campi estratti da elaborare nella query. Il parse comando supporta tre modalità: espressioni glob, espressioni regolari e logfmt.

Se fieldName viene omesso, @message viene utilizzato per impostazione predefinita. È possibile eseguire l'analisi da qualsiasi campo denominato specificando il nome del campo come primo argomento.

Se un evento di registro non corrisponde al modello specificato, lo vedrai comunque nei risultati, ma senza i campi estratti.

modalità Glob

Usa i caratteri jolly (*) come segnaposto per i valori che desideri estrarre e assegnali a campi denominati con. as

Sintassi

parse fieldName "pattern" as alias1, alias2

Il numero di caratteri * jolly deve essere uguale al numero di alias.

Esempi

parse @message "user=*, method:*, latency := *" as @user, @method, @latency | stats avg(@latency) by @method, @user
parse @logStream "*/*/*/*" as env, service, instance, shard | stats count(*) by env, service

Analisi concatenata

Estrai un campo, quindi analizza ulteriormente il campo estratto.

parse @message "url=*" as url | parse url "/api/*/users/*" as apiVersion, userId | display apiVersion, userId

Modalità Regex

Usa un'espressione regolare con gruppi di acquisizione denominati per estrarre i campi. Per informazioni sulla sintassi delle espressioni regolari, vedereSintassi delle espressioni regolari (regex) supportate.

Sintassi

parse fieldName /regex/

Utilizzate gruppi di acquisizione denominati (?<name>...) per definire i campi estratti.

Esempi

Usa gruppi di acquisizione denominati per estrarre i campi

parse @message /user=(?<user2>.*?), method:(?<method2>.*?), latency := (?<latency2>.*?)/ | stats avg(latency2) by @method2, @user2

Usa un gruppo di acquisizione denominato per estrarre l'ENI da un log di flusso VPC

parse @message /(?<NetworkInterface>eni-.*?) / | display NetworkInterface, @message

modalità Logfmt

Si usa parse logfmt per analizzare le righe di registro in formato logfmt in coppie chiave-valore. Logfmt è un formato di registrazione strutturato in cui ogni riga contiene coppie separate da spazi. key=value

Sintassi

parse fieldName logfmt as alias

Il risultato è una mappa a cui si accede con notazione a punti (ad esempio,). lf.level lf.msg

Esempi

parse @message logfmt as lf | filter lf.level = "error" | display lf.msg, lf.duration
parse @message logfmt as lf | stats count(*) by lf.host