commande patterns - Amazon OpenSearch Service

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.

commande patterns

Note

Pour savoir quelles intégrations de sources de AWS données prennent en charge cette PPL commande, consultezCommandes.

La patterns commande extrait les modèles de journalisation d'un champ de texte et ajoute les résultats au résultat de recherche. Le regroupement des journaux en fonction de leurs modèles facilite l'agrégation des statistiques provenant de gros volumes de données de journaux à des fins d'analyse et de résolution des problèmes.

Syntaxe

Utilisez la syntaxe suivante :

patterns [new_field=<new-field-name>] [pattern=<pattern>] <field>
new-field-name
  • Chaîne facultative.

  • Il s'agit du nom du nouveau champ pour les modèles extraits.

  • L’argument par défaut est patterns_field.

  • Si le nom existe déjà, il remplacera le champ d'origine.

pattern
  • Chaîne facultative.

  • Il s'agit du modèle regex des caractères qui doivent être filtrés du champ de texte.

  • En cas d'absence, le modèle par défaut est constitué de caractères alphanumériques ([a-zA-Z\d]).

field
  • Obligatoire.

  • Le champ doit être un champ de texte.

Exemple 1 : créer le nouveau champ

L'exemple montre comment utiliser des extraits de ponctuation email pour chaque document. L'analyse d'un champ nul renverra une chaîne vide.

PPLrequête :

os> source=accounts | patterns email | fields email, patterns_field ; fetched rows / total rows = 4/4 +-----------------------+------------------+ | email | patterns_field | |-----------------------+------------------| | jane_doe@example.com | @. | | john_doe@example.net | @. | | null | | | juan_li@example.org | @. | +-----------------------+------------------+
Exemple 2 : Extraire les modèles de log

L'exemple montre comment extraire les ponctuations d'un champ de journal brut à l'aide des modèles par défaut.

PPLrequête :

os> source=apache | patterns message | fields message, patterns_field ; fetched rows / total rows = 4/4 +-----------------------------------------------------------------------------------------------------------------------------+---------------------------------+ | message | patterns_field | |-----------------------------------------------------------------------------------------------------------------------------+---------------------------------| | 177.95.8.74 - upton5450 [28/Sep/2022:10:15:57 -0700] "HEAD /e-business/mindshare HTTP/1.0" 404 19927 | ... - [//::: -] " /-/ /." | | ************ - pouros8756 [28/Sep/2022:10:15:57 -0700] "GET /architectures/convergence/niches/mindshare HTTP/1.0" 100 28722 | ... - [//::: -] " //// /." | | *************** - - [28/Sep/2022:10:15:57 -0700] "PATCH /strategize/out-of-the-box HTTP/1.0" 401 27439 | ... - - [//::: -] " //--- /." | | ************** - - [28/Sep/2022:10:15:57 -0700] "POST /users HTTP/1.1" 301 9481 | ... - - [//::: -] " / /." | +-----------------------------------------------------------------------------------------------------------------------------+---------------------------------+
Exemple 3 : Extraire des modèles de journal avec un modèle de regex personnalisé

L'exemple montre comment extraire les ponctuations d'un champ de journal brut à l'aide de modèles définis par l'utilisateur.

PPLrequête :

os> source=apache | patterns new_field='no_numbers' pattern='[0-9]' message | fields message, no_numbers ; fetched rows / total rows = 4/4 +-----------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------+ | message | no_numbers | |-----------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------| | 177.95.8.74 - upton5450 [28/Sep/2022:10:15:57 -0700] "HEAD /e-business/mindshare HTTP/1.0" 404 19927 | ... - upton [/Sep/::: -] "HEAD /e-business/mindshare HTTP/." | | 127.45.152.6 - pouros8756 [28/Sep/2022:10:15:57 -0700] "GET /architectures/convergence/niches/mindshare HTTP/1.0" 100 28722 | ... - pouros [/Sep/::: -] "GET /architectures/convergence/niches/mindshare HTTP/." | | *************** - - [28/Sep/2022:10:15:57 -0700] "PATCH /strategize/out-of-the-box HTTP/1.0" 401 27439 | ... - - [/Sep/::: -] "PATCH /strategize/out-of-the-box HTTP/." | | ************** - - [28/Sep/2022:10:15:57 -0700] "POST /users HTTP/1.1" 301 9481 | ... - - [/Sep/::: -] "POST /users HTTP/." | +-----------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------+
Limitation

La commande patterns présente les mêmes limites que la commande parse.