extract

Utilisez la commande extract pour obtenir des extraits d'un champ existant à l'aide d'une expression régulière. La commande capture les extraits obtenus dans des champs virtuels en utilisant les noms fournis pour les groupes de l'expression régulière.

Remarque

  • La commande extract ne peut pas fonctionner dans le champ Contenu du journal d'origine. Le champ par défaut, si aucun n'est spécifié, est Message.

    Pour pouvoir utiliser la commande extract sur la valeur du champ Contenu de journal d'origine, copiez d'abord le champ Contenu de journal d'origine dans un champ de chaîne, puis exécutez extract sur le nouveau champ de chaîne.

  • Les commandes de traitement de chaînes telles que extract consomment beaucoup de ressources. Pour cette raison, il n'est pas recommandé d'exécuter la commande extract sur un grand nombre d'enregistrements de journal ou sur des valeurs de champ importantes. Extrayez plutôt ces valeurs à l'aide des définitions de champ étendu (EFD) ou des libellés de votre source de journal.

Syntaxe

extract field = <field_to_parse> (<regular_expression>)

Paramètres

Le tableau suivant répertorie les paramètres utilisés dans cette commande, ainsi que leur description.

Paramètre Description

field_to_parse

Indiquez le champ à analyser à l'aide de l'expression régulière.

regular_expression

Indiquez l'expression régulière à utiliser pour analyser le champ existant.

Le format de la structure d'expression régulière doit être cohérent avec la correspondance de modèle RE2J et contenir au moins un groupe de capture nommé. Reportez-vous à Syntaxe des expressions régulières.

La commande suivante sépare le contenu du champ d'entité en deux parties. Par exemple, la valeur d'entité host-phx-1.oci.oraclecloud.com avec modèle serait divisée en deux champs virtuels nommés Hôte et Domaine, avec les valeurs host-phx-1 et oci.oraclecloud.com.

* | extract field = Entity '(?P<Host>\w+)\.?(?P<Domain>.*)'

La commande suivante crée un champ virtuel nommé ErrorCode qui contient le suffixe du champ ErrorInfo afin qu'il puisse être utilisé comme clé dans la table de recherche Error Ids. Vous pouvez l'utiliser pour rechercher la description et les étapes de résolution dans une table de recherche, et fournir un récapitulatif sous forme de tableau du nombre d'occurrences de chaque erreur et de la résolution associée.

'Log Source' like '%database%' 
    | extract field = ErrorInfo 'ora-(?P<ErrorCode>.*)' 
    | lookup table="error ids" select error_description, 
        error_remediation using error_id = ErrorCode 
    | stats count, unique(error_description), 
        unique(error_remediation) by ErrorInfo