Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
filtre
Utilisez la commande filter
pour obtenir des événements du journal qui répondent à une ou plusieurs conditions.
Exemple : Filtrage des événements du journal à l'aide d'une condition
L'extrait de code montre un exemple de requête qui renvoie tous les événements du journal où la valeur de range
est supérieur à 3 000. La requête limite les résultats à 20 événements du journal et trie les événements du journal par @timestamp
et par ordre décroissant.
fields @timestamp, @message | filter (range>3000) | sort @timestamp desc | limit 20
Exemple : Filtrage des événements du journal à l'aide de plusieurs conditions
Vous pouvez utiliser les mots-clés and
et or
pour combiner plusieurs conditions.
L'extrait de code montre un exemple de requête qui renvoie les événements du journal où la valeur de range
est supérieure à 3 000 et la valeur de accountId
est égale à 123 456 789 012. La requête limite les résultats à 20 événements du journal et trie les événements du journal par @timestamp
et par ordre décroissant.
fields @timestamp, @message | filter (range>3000 and accountId=123456789012) | sort @timestamp desc | limit 20
Correspondances et expressions régulières dans la commande filter
La commande de filtre prend en charge l'utilisation d'expressions régulières. Vous pouvez utiliser les opérateurs de comparaison suivants (=
, !=
, <
, <=
, >
, >=
) et les opérateurs booléens (and
, or
et not
).
Vous pouvez utiliser le mot-clé in
pour tester des membres d'un ensemble et vérifier les éléments d'une matrice. Pour vérifier les éléments dans une matrice, insérez la matrice après in
. Vous pouvez utiliser l'opérateur booléen not
avec in
. Vous pouvez créer des requêtes utilisant in
pour renvoyer les événements du journal où les champs sont des correspondances de chaînes. Les champs doivent être des chaînes complètes. Par exemple, l'extrait de code suivant montre une requête qui utilise in
pour renvoyer les événements du journal où le champ logGroup
est le example_group
de chaîne complète.
fields @timestamp, @message | filter logGroup in ["example_group"]
Vous pouvez utiliser les phrases avec des mots-clés like
et not like
pour faire correspondre des sous-chaînes. Vous pouvez utiliser l'opérateur d'expression régulière =~
pour faire correspondre des sous-chaînes. Pour faire correspondre une sous-chaîne avec like
et not like
, placez la sous-chaîne à faire correspondre entre guillemets simples ou doubles. Vous pouvez utiliser des modèles d'expression régulière avec like
et not like
. Pour faire correspondre une sous-chaîne avec l'opérateur d'expression régulière, placez la sous-chaîne que vous souhaitez faire correspondre entre des barres obliques. Les exemples suivants contiennent des extraits de code qui montrent comment faire correspondre des sous-chaînes à l'aide de la commande filter
.
Exemples : faire correspondre des sous-chaînes
Les exemples suivants renvoient des événements du journal où f1
contient le mot Exception. Les trois exemples sont sensibles à la casse.
Le premier exemple fait correspondre une sous-chaîne avec like
.
fields f1, f2, f3 | filter f1 like "Exception"
Le deuxième exemple fait correspondre une sous-chaîne avec like
et un modèle d'expression régulière.
fields f1, f2, f3 | filter f1 like /Exception/
Le troisième exemple fait correspondre une sous-chaîne avec une expression régulière.
fields f1, f2, f3 | filter f1 =~ /Exception/
Exemple : faire correspondre des sous-chaînes avec des caractères de remplacement
Vous pouvez utiliser le point (.
) comme caractère de remplacement dans les expressions régulières pour faire correspondre des sous-chaînes. Dans l'exemple suivant, la requête renvoie des correspondances lorsque la valeur de f1
commence par la chaîne ServiceLog
.
fields f1, f2, f3 | filter f1 like /ServiceLog./
Vous pouvez placer l'astérisque après le point (.*
) pour créer un quantificateur gourmand qui renvoie autant de correspondances que possible. Par exemple, la requête suivante renvoie les résultats où la valeur de f1
ne commence par la chaîne ServiceLog
et inclut également la chaîne ServiceLog
.
fields f1, f2, f3 | filter f1 like /ServiceLog.*/
Les correspondances possibles peuvent être mises en forme comme suit :
-
ServiceLogSampleApiLogGroup
-
SampleApiLogGroupServiceLog
Exemple : exclure des sous-chaines des correspondances
L'exemple suivant montre une requête qui renvoie des événements du journal où f1
ne contient pas le mot Exception. L'exemple est sensible au cas par cas.
fields f1, f2, f3 | filter f1 not like "Exception"
Exemple : faire correspondre des sous-chaînes avec des modèles insensibles à la casse
Vous pouvez faire correspondre des sous-chaînes insensibles à la casse avec like
et des expressions régulières. Placez le paramètre suivant (?i) avant la sous-chaîne à faire correspondre. L'exemple suivant montre une requête qui renvoie des événements du journal où f1
contient pas le mot Exception ou exception.
fields f1, f2, f3 | filter f1 like /(?i)Exception/