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

filter

Utilizza filter per ottenere log eventi che corrispondono a una o più condizioni.

Esempio: filtrare i log eventi utilizzando una condizione

Il frammento di codice mostra un esempio di query che restituisce tutti i log eventi in cui il valore per range è maggiore di 3000. La query limita i risultati a 20 log eventi e li ordina per @timestamp e in ordine decrescente.

fields @timestamp, @message | filter (range>3000) | sort @timestamp desc | limit 20

Esempio: filtrare i log eventi utilizzando più di una condizione

È possibile utilizzare le parole chiave and e or per combinare più condizioni.

Il frammento di codice mostra un esempio di query che restituisce tutti i log eventi in cui il valore per range è maggiore di 3000 e il valore per accountId è uguale a 123456789012. La query limita i risultati a 20 log eventi e li ordina per @timestamp e in ordine decrescente.

fields @timestamp, @message | filter (range>3000 and accountId=123456789012) | sort @timestamp desc | limit 20

Corrispondenze ed espressioni regolari nel comando di filtro

Il comando di filtro supporta l'uso di espressioni regolari. Puoi utilizzare i seguenti operatori di confronto (=, !=, <, <=, >, >=) e operatori booleani (and, or e not).

Puoi utilizzare la parola chiave in per verificare l'appartenenza impostata e la presenza di elementi in una matrice. Per verificare la presenza di elementi in una matrice, posiziona la matrice subito dopo in. Puoi utilizzare l'operatore booleano not con in. Puoi creare query che utilizzano in per restituire log eventi in cui i campi sono le stringhe corrispondenti. I campi devono essere stringhe complete. Ad esempio, il seguente frammento di codice mostra una query che utilizza in per restituire log eventi in cui il campo logGroup è la stringa completa example_group.

fields @timestamp, @message | filter logGroup in ["example_group"]

Puoi utilizzare le frasi di parole chiave like e not like per restituire le sottostringhe corrispondenti. Puoi utilizzare l'operatore di espressione regolare =~ per restituire le sottostringhe corrispondenti. Per restituire una sottostringa corrispondente con like e not like, racchiudi la sottostringa tra virgolette singole o doppie. Puoi utilizzare modelli di espressioni regolari con like e not like. Per restituire una sottostringa corrispondente con l'operatore dell'espressione regolare, racchiudi la sottostringa tra le barre. Gli esempi seguenti contengono frammenti di codice che mostrano come è possibile restituire le sottostringhe corrispondenti utilizzando il comando filter.

Esempi: corrispondenza di sottostringhe

I tre esempi seguenti restituiscono log eventi in cui f1 contiene la parola Exception. I tre esempi fanno distinzione tra lettere maiuscole e minuscole.

Il primo esempio restituisce una sottostringa corrispondente con like.

fields f1, f2, f3 | filter f1 like "Exception"

Il secondo esempio restituisce una sottostringa corrispondente con like e un modello di espressione regolare.

fields f1, f2, f3 | filter f1 like /Exception/

Il terzo esempio restituisce una sottostringa corrispondente con un'espressione regolare.

fields f1, f2, f3 | filter f1 =~ /Exception/

Esempio: corrispondenza di sottostringhe con caratteri jolly

Puoi utilizzare il simbolo dei due punti (.) come carattere jolly nelle espressioni regolari per restituire le sottostringhe corrispondenti. Nell'esempio seguente, la query restituisce le corrispondenze in cui il valore per f1 inizia con la stringa ServiceLog.

fields f1, f2, f3 | filter f1 like /ServiceLog./

Puoi posizionare un asterisco dopo il simbolo del punto (.*) per creare un quantificatore greedy che restituisca il maggior numero possibile di corrispondenze. Ad esempio, la query seguente restituisce i risultati in cui il valore per f1 non inizia solo con la stringa ServiceLog, ma include anche la stringa ServiceLog.

fields f1, f2, f3 | filter f1 like /ServiceLog.*/

Le possibili corrispondenze possono essere formattate come segue:

  • ServiceLogSampleApiLogGroup

  • SampleApiLogGroupServiceLog

Esempio: esclusione di sottostringhe dalle corrispondenze

Il seguente esempio mostra una query che restituisce log eventi in cui f1 non contiene la parola Exception. L'esempio fa distinzione tra maiuscole e minuscole.

fields f1, f2, f3 | filter f1 not like "Exception"

Esempio: corrispondenza di sottostringhe con modelli che non fanno distinzione tra maiuscole e minuscole

Puoi associare le sottostringhe che non fanno distinzione tra maiuscole e minuscole con espressioni like e regolari. Posiziona il parametro (?i) prima della sottostringa corrispondente che desideri restituire. Il seguente esempio mostra una query che restituisce log eventi in cui f1 contiene la parola Exception o exception.

fields f1, f2, f3 | filter f1 like /(?i)Exception/