Extraction de valeurs spécifiques en tant que clés JSON

Dans IBM® Cloud Logs, vous pouvez utiliser la règle Extract pour extraire des valeurs spécifiques dont vous avez besoin en tant que clés JSON sans avoir à analyser la totalité du journal.

Contrairement à une règle d'analyse, une règle d'extraction laisse le journal d'origine intact et y ajoute des zones à la racine.

Avant de commencer

Les règles d'analyse syntaxique sont organisées dans des groupes de règles. Chaque groupe a un nom et un ensemble de règles avec une relation logique entre eux. Les journaux sont traités selon l'ordre du groupe de règles (du début à la fin). Ils sont ensuite traités par l'ordre des règles au sein du groupe de règles et en fonction des opérateurs logiques qui les séparent (AND/OR). Les règles vous aident à traiter, analyser et restructurer les données de journal afin de préparer la surveillance et l'analyse. Pour plus d'informations, voir Utilisation de groupes de règles.

Utilisation de groupes capturés nommés pour définir de nouvelles zones

La règle d'extraction utilise des groupes de capture RegEx-named pour définir de nouveaux champs.

  • Les groupes capturés deviennent les zones de journal analysées.
  • La valeur associée à chaque groupe devient la valeur de la zone.
  • L' RegEx n'a pas besoin de correspondre à l'intégralité du journal.
  • Seuls les groupes de capture nommés RegEx (les valeurs dans < >) et la valeur qu'ils capturent font partie du journal reconstruit.

Configuration d'une règle d'extraction

Procédez comme suit :

  1. Cliquez sur l'icône Pipeline de données icône Pipeline de données > Règles d'analyse syntaxique et cliquez sur Nouveau groupe de règles.

  2. Dans la section Détails, entrez le Nom du groupe de règles et la Description du groupe de règles.

  3. Dans la section Rule Matcher, configurez les applications, les sous-systèmes et les niveaux de gravité qui définissent les journaux sur lesquels appliquer les règles incluses dans le groupe de règles.

  4. Dans la section Règles, sélectionnez Extraire Icône Extraire la règle d'analyse syntaxique.

    1. Entrez un nom.

    2. Si vous le souhaitez, entrez une description.

    3. Sélectionnez un champ source. Il s'agit de la zone sur laquelle l' RegEx est appliquée.

    4. Entrez l' expression régulière (RegEx).

    5. Basculez le statut sur ACTIF si vous souhaitez que la règle soit activée.

  5. Ajoutez des groupes de règles supplémentaires en cliquant sur Ajouter une règle et en sélectionnant le type de règle souhaité. Activez AND/OR pour sélectionner la façon dont vous souhaitez que les règles supplémentaires soient traitées.

  6. Cliquez sur Créer un groupe de règles.

Exemple: création de deux zones

L'exemple suivant extrait des informations du message de zone et crée deux nouvelles zones,'bytes'et'status', qui peuvent être interrogées et visualisées.

Le journal d'origine est:

{"level":"INFO", "message": "200 bytes sent status is OK"}

L' RegEx est la suivante:

message"\s*:\s*"(?P<bytes>\d+)\s*.*?status\sis\s(?P<status>[^"]+)

Le journal formaté est:

{
    "level": "INFO",
    "message": "200 bytes sent status is OK",
    "Bytes": "200",
    "status": "OK"
}

Si le journal d'origine n'est pas structuré, les champs sont ajoutés en fonction des groupes de capture nommés et le journal d'origine est stocké dans un champ appelé text. A l'aide de l'exemple précédent, il modifie le journal d'origine pour qu'il ne soit pas structuré.

Le journal d'origine:

"level":"INFO", "message": "200 bytes sent status is OK",

Le journal résultant:

{
    "bytes": "200",
    "text": "\"level\":\"INFO\", \"message\": \"200 bytes sent status is OK\"",
    "status": "OK"
}