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.
Index des filtres
filterIndexÀ utiliser pour renvoyer uniquement des données indexées, en forçant une requête à analyser uniquement les groupes de journaux indexés sur un champ que vous spécifiez dans la requête. Pour les groupes de journaux indexés sur ce champ, cela optimise davantage la requête en ignorant les groupes de journaux qui ne contiennent aucun événement de journal contenant le champ spécifié dans la requête pour le champ indexé. Il réduit encore le volume numérisé en essayant de scanner uniquement les événements de journal de ces groupes de journaux qui correspondent à la valeur spécifiée dans la requête pour cet index de champ. Pour plus d'informations sur les index de champs et sur la façon de les créer, consultezCréez des index de champs pour améliorer les performances des requêtes et réduire le volume de numérisation.
L'utilisation de champs filterIndex indexés peut vous aider à interroger efficacement les groupes de journaux contenant des pétaoctets de données de journal en limitant l'espace de recherche réel aux groupes de journaux et aux événements de journal contenant des index de champs.
Supposons, par exemple, que vous ayez créé un index IPaddress de champs pour certains groupes de journaux de votre compte. Vous pouvez ensuite créer la requête suivante et choisir d'interroger tous les groupes de journaux du compte pour trouver les événements de journal qui incluent la valeur 198.51.100.0 dans le IPaddress champ.
fields @timestamp, @message | filterIndex IPaddress = "198.51.100.0" | limit 20
La filterIndex commande fait en sorte que cette requête tente d'ignorer tous les groupes de journaux qui ne sont pas indexésIPaddress. En outre, au sein des groupes de journaux indexés, la requête ignore les événements de journal dont la valeur de ce IPaddress champ n'a pas été observée198.51.100.0.
Utilisez l'INopérateur pour étendre les résultats à l'une des multiples valeurs des champs indexés. L'exemple suivant trouve les événements de journal qui incluent la valeur 198.51.100.0 ou 198.51.100.1 le IPaddress champ.
fields @timestamp, @message | filterIndex IPaddress in ["198.51.100.0", "198.51.100.1"] | limit 20
CloudWatch Logs fournit des index de champs par défaut pour tous les groupes de journaux de la classe de journaux standard. Les index de champs par défaut sont automatiquement disponibles pour les champs suivants :
-
@logStream -
@aws.region -
@aws.account -
@source.log -
traceId
Les index de champs par défaut s'ajoutent aux index de champs personnalisés que vous définissez dans le cadre de votre politique. Les index de champs par défaut ne sont pas pris en compte dans votre quota d'index de champs.
FilterIndex comparé au filtre
Pour illustrer la différence entre filterIndex etfilter, considérez les exemples de requêtes suivants. Supposons que vous ayez créé un index de champs pour quatre de vos groupes de journaux, mais pas pour un cinquième groupe de journaux. IPaddress L'utilisation de la requête suivante filterIndex ignorera l'analyse du groupe de journaux dont le champ n'est pas indexé. Pour chaque groupe de journaux indexé, il tente d'analyser uniquement les événements du journal contenant le champ indexé, et il ne renvoie également que les résultats obtenus après la création de l'index du champ.
fields @timestamp, @message | filterIndex IPaddress = "198.51.100.0" | limit 20
En revanche, si vous utilisez filter plutôt que filterIndex pour une requête portant sur les cinq mêmes groupes de journaux, la requête tentera d'analyser non seulement les événements de journal contenant la valeur dans les groupes de journaux indexés, mais également le cinquième groupe de journaux qui n'est pas indexé, et elle analysera chaque événement de journal de ce cinquième groupe de journaux.
fields @timestamp, @message | filter IPaddress = "198.51.100.0" | limit 20