Sintassi del modello di filtro per filtri di parametri, filtri di sottoscrizione, filtri di log eventi e Live Tail - 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à.

Sintassi del modello di filtro per filtri di parametri, filtri di sottoscrizione, filtri di log eventi e Live Tail

Nota

Per informazioni su come interrogare i tuoi gruppi di log con il linguaggio di query Amazon CloudWatch Logs Insights, consultaCloudWatch Sintassi delle query di Logs Insights.

Con CloudWatch Logs, puoi utilizzare filtri metrici per trasformare i dati di registro in metriche utilizzabili, filtri di abbonamento per indirizzare gli eventi di registro ad altri AWS servizi, filtrare gli eventi di registro per cercare eventi di registro e Live Tail per visualizzare in modo interattivo i log in tempo reale man mano che vengono inseriti.

I modelli di filtro costituiscono la sintassi utilizzata dai filtri di parametri, dai filtri di sottoscrizione, dai filtri di log eventi e da Live Tail per verificare la presenza di termini nei log eventi. I termini possono essere parole, frasi esatte o valori numerici. Le espressioni regolari (regex) possono essere utilizzate per creare modelli di filtro autonomi o incorporate con modelli di filtri JSON delimitati da spazi.

Crea modelli di filtro con i termini che desideri associare. I modelli di filtro restituiscono solo i log eventi che contengono i termini definiti. Puoi testare i modelli di filtro nella console. CloudWatch

Sintassi delle espressioni regolari (regex) supportate

Quando si utilizzano espressioni regolari per cercare e filtrare i dati di un log, è necessario racchiudere le espressioni tra %.

I modelli di filtro con regex possono includere solo quanto segue:

  • Caratteri alfanumerici: un carattere alfanumerico è un carattere costituito da una lettera (dalla A alla Z o dalla a alla z) o una cifra (da 0 a 9).

  • Caratteri simbolici supportati: '_', '#', '=', '@','/', ';', ',' e '-'. Ad esempio, %something!% verrebbe rifiutato poiché '!' non è supportato.

  • Operatori supportati: questi includono: '^', '$', '?', '[', ']', '{', '}', '|', '\', '*', '+' e '.'.

Gli operatori ( e ) non sono supportati. Non è possibile utilizzare le parentesi per definire un sottomodello.

I caratteri multibyte non sono supportati.

Nota

Quote

Quando si creano filtri di parametri o filtri di sottoscrizione, per ogni gruppo di log sono disponibili al massimo 5 modelli di filtro contenenti espressioni regolari.

Quando si crea un modello di filtro delimitato o JSON per filtri di parametri e filtri di sottoscrizione o quando si filtrano log eventi, è possibile utilizzare al massimo due espressioni regolari per ogni modello di filtro.

Utilizzo degli operatori supportati

  • ^: fissa la corrispondenza all'inizio di una stringa. Ad esempio, %^[hc]at% restituisce "hat" e "cat", ma solo all'inizio di una stringa.

  • $: fissa la corrispondenza all'inizio di una stringa. Ad esempio, %[hc]at$% corrisponde a "hat" e "cat", ma solo alla fine di una stringa.

  • ?: corrisponde a zero o più istanze del termine precedente. Ad esempio, %colou?r% può restituire entrambe le varianti "color" e "colour".

  • []: definisce una classe di caratteri. Corrisponde all'elenco o all'intervallo di caratteri racchiuso tra parentesi quadre. Ad esempio, %[abc]% restituisce ad "a", "b" o "c", %[a-z]% restituisce qualsiasi lettera minuscola da "a" a "z" e %[abcx-z]% restituisce ad "a", "b", "c", "x", "y" oppure "z".

  • {m, n}: restituisce il termine precedente almeno m e non più di n volte. Ad esempio, %a{3,5}% restituisce solo "aaa", "aaaa" e "aaaaa".

    Nota

    È possibile omettere m o n se si sceglie di non definire un minimo o un massimo.

  • |: "or" booleano, che restituisce il termine a sinistra o a destra della barra verticale. Ad esempio, %gra|ey% può restituire entrambe le varianti "gray" o "grey" (grigio).

    Nota

    Un termine è un carattere singolo o una classe di caratteri ripetuti che utilizza uno dei seguenti operatori: ?, *, + o {n,m}.

  • \: carattere di escape, che consente di utilizzare il significato letterale di un operatore anziché il suo significato speciale. Ad esempio, %\[.\]% restituisce qualsiasi carattere singolo racchiuso tra "[" e "]" poiché le parentesi quadre sono ignorate, come nel caso di "[a]", "[b]", "[7]", "[@]", "[]]" e "[ ]".

    Nota

    %10\.10\.0\.1% è il modo corretto per creare un'espressione regolare che restituisca l'indirizzo IP 10.10.0.1.

  • *: corrisponde a zero o più istanze del termine precedente. Ad esempio, %ab*c% può restituire "ac", "abc" e "abbbc"; %ab[0-9]*% può restituire "ab", "ab0" e "ab129".

  • +: corrisponde a una o più istanze del termine precedente. Ad esempio, %ab+c% può restituire "abc", "abbc" e "abbbc", ma non "ac".

  • .: corrisponde a qualsiasi carattere singolo. Ad esempio, %.at% restituisce qualsiasi stringa di tre caratteri che termina con "at", tra cui "hat", "cat", "bat", "4at", "#at" e " at" (che inizia con uno spazio).

    Nota

    Quando si crea un'espressione regolare per verificare la presenza di indirizzi IP, è importante evitare l'operatore .. Ad esempio, %10.10.0.1% può restituire "10010,051", che potrebbe non essere lo scopo effettivo previsto dell'espressione.

  • \d, \D: restituisce un carattere numerico/non numerico. Ad esempio, %\d% è equivalente a %[0-9]% e %\D% è equivalente a %[^0-9]%.

    Nota

    L'operatore maiuscolo indica l'inverso della sua controparte minuscola.

  • \s, \S: restituisce un carattere di spazio bianco/carattere diverso da uno spazio bianco.

    Nota

    L'operatore maiuscolo indica l'inverso della sua controparte minuscola. I caratteri di spaziatura includono i caratteri tab (\t), spazio ( ) e newline (\n).

  • \w, \W: restituisce un carattere alfanumerico/non alfanumerico. Ad esempio, %\w% è equivalente a %[a-zA-Z_0-9]% e %\W% è equivalente a %[^a-zA-Z_0-9]%.

    Nota

    L'operatore maiuscolo indica l'inverso della sua controparte minuscola.

  • \xhh: restituisce la mappatura ASCII per un carattere esadecimale a due cifre. \x è la sequenza di escape che indica che i caratteri seguenti rappresentano il valore esadecimale per ASCII. hh specifica le due cifre esadecimali (0-9 e A-F) che puntano a un carattere nella tabella ASCII.

    Nota

    È possibile utilizzare \xhh per restituire caratteri simbolici che non sono supportati dal modello di filtro. Ad esempio, %\x3A% corrisponde a : e %\x28% corrisponde a (.

Utilizzo dei modelli di filtro per verificare la presenza dei termini in un'espressione regolare (regex)

È possibile verificare la presenza di termini nei log eventi utilizzando un modello di espressioni regolari racchiuso tra % (segni percentuali prima e dopo il modello di espressione regolare). Il seguente frammento di codice mostra un esempio di un modello di filtro che restituisce tutti i log eventi che comprendono la parola chiave AUTHORIZED.

Per un elenco delle espressioni regolari supportate, consulta la sezione Espressioni regolari supportate.

%AUTHORIZED%

Questo modello di filtro restituisce messaggi di log eventi come i seguenti:

  • [ERROR 401] UNAUTHORIZED REQUEST

  • [SUCCESS 200] AUTHORIZED REQUEST

Utilizzo dei modelli di filtro per associare termini nei log eventi non strutturati

Gli esempi seguenti contengono frammenti di codice che mostrano come è possibile utilizzare i modelli di filtro per associare i termini nei log eventi non strutturati.

Nota

I modelli di filtro fanno distinzione tra maiuscole e minuscole. Racchiudi frasi e termini esatti che includono caratteri non alfanumerici tra virgolette doppie ("").

Example: Match a single term

Il seguente frammento di codice mostra un esempio del modello di filtro di un termine singolo che restituisce tutti i log eventi in cui i messaggi contengono la parola ERROR.

ERROR

Questo modello di filtro corrisponde ai messaggi di log eventi come i seguenti:

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

Example: Match multiple terms

Il seguente frammento di codice mostra un esempio del modello di filtro di più termini che restituisce tutti i log eventi in cui i messaggi contengono le parole ERROR e ARGUMENTS.

ERROR ARGUMENTS

Il filtro restituisce i messaggi del log eventi, come i seguenti:

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

Questo modello di filtro non restituisce i seguenti messaggi del log eventi perché non contengono entrambi i termini specificati nel modello di filtro.

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

Example: Match optional terms

È possibile utilizzare la corrispondenza di modelli per creare modelli di filtro che restituiscono log eventi contenenti termini facoltativi. Inserisci un punto interrogativo ("?") prima dei termini che desideri associare. Il seguente frammento di codice mostra un esempio di un modello di filtro che restituisce tutti i log eventi in cui i messaggi contengono la parola ERRORE o ARGOMENTI.

?ERROR ?ARGUMENTS

Questo modello di filtro corrisponde ai messaggi di log eventi come i seguenti:

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

Nota

Non puoi combinare il punto interrogativo ("?") con altri modelli di filtro, come termini di inclusione ed esclusione. Se combini "?" con altri modelli di filtro, il punto interrogativo ("?") viene ignorato.

Ad esempio, il seguente schema di filtro corrisponde a tutti gli eventi che contengono la parola REQUEST, ma il punto interrogativo ("?") il filtro viene ignorato e non ha alcun effetto.

?ERROR ?ARGUMENTS REQUEST

Corrispondenze di log eventi

  • [INFO] REQUEST FAILED

  • [WARN] UNAUTHORIZED REQUEST

  • [ERROR] 400 BAD REQUEST

Example: Match exact phrases

Il seguente frammento di codice mostra un esempio di un modello di filtro che restituisce log eventi in cui i messaggi contengono la frase esatta INTERNAL SERVER ERROR.

"INTERNAL SERVER ERROR"

Questo modello di filtro restituisce il seguente messaggio di log eventi:

  • [ERROR 500] INTERNAL SERVER ERROR

Example: Include and exclude terms

Puoi creare modelli di filtro che restituiscono log eventi in cui i messaggi includono alcuni termini ed escludono altri termini. Posiziona un simbolo meno ("-") prima dei termini che desideri escludere. Il seguente frammento di codice mostra un esempio di un modello di filtro che restituisce log eventi in cui i messaggi contengono il termine ERROR ed escludono il termine ARGUMENTS.

ERROR -ARGUMENTS

Questo modello di filtro restituisce messaggi di log eventi come i seguenti:

  • [ERROR 400] BAD REQUEST

  • [ERROR 401] UNAUTHORIZED REQUEST

Questo modello di filtro non restituisce i seguenti messaggi di log eventi perché contengono la parola ARGUMENTS.

  • [ERROR 419] MISSING ARGUMENTS

  • [ERROR 420] INVALID ARGUMENTS

Example: Match everything

Puoi utilizzare la corrispondenza totale nei log eventi usando le virgolette doppie. Il seguente frammento di codice mostra un esempio di un modello di filtro che restituisce tutti i log eventi.

" "

Utilizzo dei modelli di filtro per associare termini nei log eventi

Negli esempi seguenti viene descritto l'utilizzo della sintassi per i filtri di modelli che verificano la presenza di termini JSON contenenti stringhe e valori numerici.

Writing filter patterns that match strings

È possibile creare modelli di filtro per associare le stringhe nei log eventi JSON. Il seguente frammento di codice mostra un esempio della sintassi per il modello di filtro basato su stringa.

{ PropertySelector EqualityOperator String }

Racchiudi i modelli di filtro tra parentesi graffe ("{}"). I modelli di filtro basati su stringhe devono contenere le seguenti parti:

  • Property selector (Selettore di proprietà)

    Imposta i selettori di proprietà con il simbolo del dollaro seguito da un punto ("$."). I selettori di proprietà sono stringhe alfanumeriche che supportano anche i caratteri trattino alto ("-") e basso ("_"). Le stringhe non supportano la notazione scientifica. I selettori di proprietà puntano ai nodi di valore nei log eventi JSON. I nodi di valore possono essere stringhe o numeri. Posiziona le matrici dopo i selettori di proprietà. Gli elementi negli array seguono un sistema di numerazione a base zero, il che significa che il primo elemento dell'array è l'elemento 0, il secondo elemento è l'elemento 1 e così via. Racchiudi gli elementi tra parentesi quadre ("[]"). Se un selettore di proprietà punta a una matrice o a un oggetto, il modello di filtro non corrisponde al formato di log. Se la proprietà JSON contiene un punto ("."), è possibile utilizzare la notazione a parentesi per selezionarla.

    Nota

    Selettore di carattere jolly

    È possibile utilizzare il carattere jolly JSON per selezionare qualsiasi elemento dell'array o qualsiasi campo oggetto JSON.

    Quote

    È possibile utilizzare un solo selettore di caratteri jolly in un selettore di proprietà.

  • Equality operator (Operatori di uguaglianza)

    Imposta gli operatori di uguaglianza con uno dei seguenti simboli: uguale ("=") o non uguale ("!="). Gli operatori di uguaglianza restituiscono un valore booleano (vero o falso).

  • String

    Puoi racchiudere le stringhe tra virgolette doppie (""). Le stringhe che non contengono caratteri alfanumerici e il simbolo del trattino basso devono essere collocate tra virgolette doppie. Usa l'asterisco ("*") come carattere jolly per associare il testo.

    Nota

    È possibile utilizzare qualsiasi espressione regolare condizionale durante la creazione di modelli di filtro che verifichino la presenza di termini nei log eventi JSON. Per un elenco delle espressioni regolari supportate, consulta la sezione Espressioni regolari supportate.

Il seguente frammento di codice contiene un esempio di un modello di filtro che mostra come è possibile formattarne uno in modo che corrisponda a un termine JSON con una stringa.

{ $.eventType = "UpdateTrail" }
Writing filter patterns that match numeric values

È possibile creare modelli di filtro per associare valori numerici nei log eventi JSON. Il seguente frammento di codice mostra un esempio della sintassi per i modelli di filtro che corrispondono a valori numerici.

{ PropertySelector NumericOperator Number }

Racchiudi i modelli di filtro tra parentesi graffe ("{}"). I modelli di filtro che corrispondono a valori numerici devono avere le seguenti parti:

  • Property selector (Selettore di proprietà)

    Imposta i selettori di proprietà con il simbolo del dollaro seguito da un punto ("$."). I selettori di proprietà sono stringhe alfanumeriche che supportano anche i caratteri trattino alto ("-") e basso ("_"). Le stringhe non supportano la notazione scientifica. I selettori di proprietà puntano ai nodi di valore nei log eventi JSON. I nodi di valore possono essere stringhe o numeri. Posiziona le matrici dopo i selettori di proprietà. Gli elementi negli array seguono un sistema di numerazione a base zero, il che significa che il primo elemento dell'array è l'elemento 0, il secondo elemento è l'elemento 1 e così via. Racchiudi gli elementi tra parentesi quadre ("[]"). Se un selettore di proprietà punta a una matrice o a un oggetto, il modello di filtro non corrisponde al formato di log. Se la proprietà JSON contiene un punto ("."), è possibile utilizzare la notazione a parentesi per selezionarla.

    Nota

    Selettore di carattere jolly

    È possibile utilizzare il carattere jolly JSON per selezionare qualsiasi elemento dell'array o qualsiasi campo oggetto JSON.

    Quote

    È possibile utilizzare un solo selettore di caratteri jolly in un selettore di proprietà.

  • Operazioni numeriche

    Imposta le operazioni numeriche con uno dei seguenti simboli: maggiore di (">"), minore di ("<"), uguale ("="), non uguale ("!="), maggiore o uguale a (">=") oppure minore o uguale a ("<=").

  • Numero

    Puoi utilizzare numeri interi che contengono i simboli più ("+") o meno ("-") e seguire la notazione scientifica. Usa l'asterisco ("*") come carattere jolly per associare i numeri.

Il seguente frammento di codice contiene esempi che mostrano come è possibile formattare i modelli di filtro in modo che corrispondano a termini JSON con valori numerici.

// Filter pattern with greater than symbol { $.bandwidth > 75 } // Filter pattern with less than symbol { $.latency < 50 } // Filter pattern with greater than or equal to symbol { $.refreshRate >= 60 } // Filter pattern with less than or equal to symbol { $.responseTime <= 5 } // Filter pattern with equal sign { $.errorCode = 400} // Filter pattern with not equal sign { $.errorCode != 500 } // Filter pattern with scientific notation and plus symbol { $.number[0] = 1e-3 } // Filter pattern with scientific notation and minus symbol { $.number[0] != 1e+3 }

Gli esempi seguenti contengono frammenti di codice che mostrano come i modelli di filtro possono corrispondere ai termini in un log eventi JSON.

Nota

Se testi il modello di filtro di esempio con il log eventi JSON di esempio, devi inserire il log JSON di esempio su una singola riga.

Log eventi JSON

{ "eventType": "UpdateTrail", "sourceIPAddress": "111.111.111.111", "arrayKey": [ "value", "another value" ], "objectList": [ { "name": "a", "id": 1 }, { "name": "b", "id": 2 } ], "SomeObject": null, "cluster.name": "c" }
Example: Filter pattern that matches string values

Questo modello di filtro restituisce la stringa "UpdateTrail" nella proprietà "eventType".

{ $.eventType = "UpdateTrail" }
Example: Filter pattern that matches string values (IP address)

Questo modello di filtro contiene un carattere jolly e corrisponde alla proprietà "sourceIPAddress" perché non contiene un numero con il prefisso "123.123.".

{ $.sourceIPAddress != 123.123.* }
Example: Filter pattern that matches a specific array element with a string value

Questo modello di filtro restituisce l'elemento "value" nell'array "arrayKey".

{ $.arrayKey[0] = "value" }
Example: Filter pattern that matches a string using regex

Questo modello di filtro restituisce la stringa "Trail" nella proprietà "eventType".

{ $.eventType = %Trail% }
Example: Filter pattern that uses a wildcard to match values of any element in the array using regex

Questo modello di filtro contiene espressioni regolari che restituiscono l'elemento "value" dell'array "arrayKey".

{ $.arrayKey[*] = %val.{2}% }
Example: Filter pattern that uses a wildcard to match values of any element with a specific prefix and subnet using regex (IP address)

Questo modello di filtro contiene espressioni regolari che restituiscono l'elemento "111.111.111.111" della proprietà "sourceIPAddress".

{ $.* = %111\.111\.111\.1[0-9]{1,2}% }
Nota

Quote

È possibile utilizzare un solo selettore di caratteri jolly in un selettore di proprietà.

Example: Filter pattern that matches a JSON property with a period (.) in the key
{ $.['cluster.name'] = "c" }
Example: Filter pattern that matches JSON logs using IS

È possibile creare modelli di filtro che restituiscono le corrispondenze con i campi dei log JSON con la variabile IS. La variabile IS può corrispondere a campi che contengono i valori NULL, TRUE oppure FALSE. Il seguente modello di filtro restituisce i log JSON in cui il valore di SomeObject è NULL.

{ $.SomeObject IS NULL }
Example: Filter pattern that matches JSON logs using NOT EXISTS

È possibile creare modelli di filtro con la NOT EXISTS variabile per restituire log JSON che non contengono campi specifici nei dati di registro. Il seguente modello di filtro utilizza NOT EXISTS per restituire i log JSON che non contengono il campo SomeOtherObject.

{ $.SomeOtherObject NOT EXISTS }
Nota

Le variabili IS NOT e EXISTS al momento non sono supportate.

È possibile utilizzare gli operatori logici AND ("&&") e OR ("||") nei modelli di filtro per creare espressioni composte che corrispondono ai log eventi in cui due o più condizioni sono vere. Le espressioni composte supportano l'uso di parentesi ("()") e il seguente ordine standard di operazioni: () > && > ||. Gli esempi seguenti contengono frammenti di codice che mostrano come utilizzare i modelli di filtro con le espressioni composte in modo da associare i termini in un oggetto JSON.

Oggetto JSON

{ "user": { "id": 1, "email": "John.Stiles@example.com" }, "users": [ { "id": 2, "email": "John.Doe@example.com" }, { "id": 3, "email": "Jane.Doe@example.com" } ], "actions": [ "GET", "PUT", "DELETE" ], "coordinates": [ [0, 1, 2], [4, 5, 6], [7, 8, 9] ] }
Example: Expression that matches using AND (&&)

Questo modello di filtro contiene un'espressione composta che corrisponde a "id" in "user" con un valore numerico di 1 e "email" nel primo elemento dell'array "users" con la stringa "John.Doe@example.com".

{ ($.user.id = 1) && ($.users[0].email = "John.Doe@example.com") }
Example: Expression that matches using OR (||)

Questo modello di filtro contiene un'espressione composta che corrisponde a "email" in "user" con la stringa "John.Stiles@example.com".

{ $.user.email = "John.Stiles@example.com" || $.coordinates[0][1] = "nonmatch" && $.actions[2] = "nonmatch" }
Example: Expression that doesn't match using AND (&&)

Questo modello di filtro contiene un'espressione composta che non trova una corrispondenza perché l'espressione non corrisponde alla terza operazione in "actions".

{ ($.user.email = "John.Stiles@example.com" || $.coordinates[0][1] = "nonmatch") && $.actions[2] = "nonmatch" }
Nota

Quote

È possibile utilizzare un solo selettore di caratteri jolly in un selettore di proprietà e fino a tre selettori di caratteri jolly in un modello di filtro con espressioni composte.

Example: Expression that doesn't match using OR (||)

Questo modello di filtro contiene un'espressione composta che non trova una corrispondenza perché l'espressione non corrisponde alla prima proprietà in "users" o alla terza operazione in "actions".

{ ($.user.id = 2 && $.users[0].email = "nonmatch") || $.actions[2] = "GET" }

Utilizzo dei modelli di filtro per associare termini nei log eventi delimitati da spazi

È possibile creare modelli di filtro per verificare la presenza di termini in log eventi delimitati da spazi. Di seguito viene fornito un esempio di log eventi delimitato da spazi e viene illustrato come scrivere la sintassi per i modelli di filtro che verificano la presenza di termini in un log eventi delimitato da spazi.

Nota

È possibile utilizzare qualsiasi espressione regolare condizionale durante la creazione di modelli di filtro che verifichino la presenza di termini nei log eventi delimitati da spazi. Per un elenco delle espressioni regolari supportate, consulta la sezione Espressioni regolari supportate.

Example: Space-delimited log event

Il seguente frammento di codice mostra un log eventi delimitato da spazi che contiene sette campi: ip, user, username, timestamp, request, status_code e bytes.

127.0.0.1 Prod frank [10/Oct/2000:13:25:15 -0700] "GET /index.html HTTP/1.0" 404 1534
Nota

I caratteri tra parentesi quadre ("[]") e virgolette doppie ("") sono considerati campi singoli.

Writing filter patterns that match terms in a space-delimited log event

Per creare un modello di filtro che verifichi la presenza di termini in un log eventi delimitato da spazi, racchiudi il modello di filtro tra parentesi quadre ("[]") e specifica i campi con nomi separati da virgole (","). Il seguente modello di filtro analizza sette campi.

[ip=%127\.0\.0\.[1-9]%, user, username, timestamp, request =*.html*, status_code = 4*, bytes]

È possibile utilizzare operazioni numeriche (>, <, =, !=, >= oppure <=) e l'asterisco (*) come carattere jolly per fornire le condizioni del modello di filtro. Nel modello di filtro di esempio, ip utilizza espressioni regolari che restituiscono l'intervallo di indirizzi IP 127.0.0.1 - 127.0.0.9, request contiene un carattere jolly che indica che deve estrarre un valore con .html e status_code contiene un carattere jolly che indica che deve estrarre un valore che inizia con 4.

Se non conosci il numero di campi che stai analizzando in un log eventi delimitato da spazi, puoi usare i puntini di sospensione (...) per fare riferimento a qualsiasi campo senza nome. Questi possono fare riferimento a tutti i campi necessari. L'esempio seguente mostra un modello di filtro con puntini di sospensione che rappresentano i primi quattro campi senza nome mostrati nel modello di filtro di esempio precedente.

[..., request =*.html*, status_code = 4*, bytes]

Puoi anche utilizzare gli operatori logici AND (&&) e OR (||) per creare espressioni composte. Il seguente modello di filtro contiene un'espressione composta che indica che il valore di status_code deve essere 404 o 410.

[ip, user, username, timestamp, request =*.html*, status_code = 404 || status_code = 410, bytes]

È possibile utilizzare la corrispondenza di modelli per creare modelli di filtro delimitati da spazi che associano termini in un ordine specifico. Specifica l'ordine dei termini con gli indicatori. Utilizza w1 per rappresentare il primo termine e w2 e così via per rappresentare l'ordine dei termini successivi. Inserisci una virgola (",") tra i termini. Gli esempi seguenti contengono frammenti di codice che mostrano come è possibile utilizzare la corrispondenza di modelli con modelli di filtro delimitati da spazi.

Nota

È possibile utilizzare qualsiasi espressione regolare condizionale durante la creazione di modelli di filtro che verifichino la presenza di termini nei log eventi delimitati da spazi. Per un elenco delle espressioni regolari supportate, consulta la sezione Espressioni regolari supportate.

Log eventi delimitato da spazi

INFO 09/25/2014 12:00:00 GET /service/resource/67 1200 INFO 09/25/2014 12:00:01 POST /service/resource/67/part/111 1310 WARNING 09/25/2014 12:00:02 Invalid user request ERROR 09/25/2014 12:00:02 Failed to process request
Example: Match terms in order

Il seguente modello di filtro delimitato da spazi restituisce log eventi in cui la prima parola è ERROR.

[w1=ERROR, w2]
Nota

Quando crei modelli di filtro delimitati da spazi che utilizzano la corrispondenza di modelli, devi includere un indicatore vuoto dopo aver specificato l'ordine dei termini. Ad esempio, per creare un modello di filtro che restituisca i log eventi in cui la prima parola è ERROR, includi un indicatore vuoto w2 dopo il termine w1.

Example: Match terms with AND (&&) and OR (||)

È possibile utilizzare gli operatori logici AND ("&&") e OR ("||") per creare modelli di filtro delimitati da spazi che contengono condizioni. Il seguente modello di filtro restituisce log eventi in cui la prima parola è ERROR o WARNING.

[w1=ERROR || w1=WARNING, w2]
Example: Exclude terms from matches

È possibile creare modelli di filtro delimitati da spazi che restituiscono log eventi escludendo uno o più termini. Inserisci un simbolo non uguale ("!=") prima del termine o dei termini che desideri escludere. Il seguente frammento di codice mostra un esempio di un modello di filtro che restituisce log eventi in cui le prime parole non sono ERROR e WARNING.

[w1!=ERROR && w1!=WARNING, w2]
Example: Match the top level item in a resource URI

Il seguente frammento di codice mostra un esempio di un modello di filtro che restituisce l'elemento di livello superiore in un URI di risorsa che utilizza regex.

[logLevel, date, time, method, url=%/service/resource/[0-9]+$%, response_time]
Example: Match the child level item in a resource URI

Il seguente frammento di codice mostra un esempio di un modello di filtro che corrisponde all'elemento di livello inferiore in un URI di risorsa che utilizza regex.

[logLevel, date, time, method, url=%/service/resource/[0-9]+/part/[0-9]+$%, response_time]