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
parsefieldName"pattern" asalias1,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
parsefieldName/regex/
Utilizzate gruppi di acquisizione denominati (?< per definire i campi estratti.name>...)
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
parsefieldNamelogfmt asalias
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