Cas d'utilisation - File Forwarder Multiline

L'analyse multiligne est une fonction du plug-in File Forwarder à utiliser lorsque le fichier à transférer contient des blocs multilignes.

Pour utiliser ces options supplémentaires, vous devez activer l'interface utilisateur avancée et définir la zone Analyseur de fichiers sur Multiple lines per event.
Remarque: utilisez les options Interface utilisateur avancée uniquement sur instruction du support IBM .

Vous pouvez utiliser les nouvelles zones lorsque vous avez l'intention de capturer un contenu multiligne.

Vous pouvez également inclure ou exclure l'en-tête et le pied de page d'un bloc en sélectionnant l'option appropriée.

Vous pouvez aussi couper l'interlignage et l'espace de fin en sélectionnant l'option appropriée. Le délimiteur par défaut est un espace.

Tableau 1. Zones
Plusieurs lignes par événement    
Filtrer pour démarrer un bloc multiligne field-regex-obligatoire Un masque ou un filtre recherche la première ligne à traiter sur plusieurs lignes. Vous pouvez utiliser * (plusieurs caractères) ? (un caractère) et # (un nombre) ou une expression régulière.
Filtrer pour terminer un bloc multiligne field-regex-obligatoire Un masque ou un filtre trouve la dernière ligne à traiter en mode multiligne. Vous pouvez utiliser * (plusieurs caractères) ? (un caractère) et # (un nombre) ou une expression régulière.
Inclure les lignes de début et de fin d'un bloc multiligne case-booléenne-obligatoire Vous pouvez inclure ou exclure la première ligne (en-tête) et la dernière ligne (pied de page) d'un bloc.
BlockTrimLines case-booléenne-obligatoire Enlevez les lignes avant de les ajouter au bloc, séparées par un espace.

Exemple de bloc multiligne

2021-11-17 09:36:07.5840|INFO|93|Running the query. Memory Limit=0, Timeout=0, RequestPriority=Normal, RequestExecutionMetrics=[None], ApplicationContext=, ConnectionCategory=ExternalOnPrem, Query=<pi>EVALUATE
  TOPN(
    101,
    CALCULATETABLE(
      VALUES('ABC'[ABC]),
      KEEPFILTERS(
        FILTER(
          KEEPFILTERS(VALUES('ABC'[Year.Key0])),
          'ABC'[Year.Key0] = DATE(2021, 1, 1)
        )
      ),
      KEEPFILTERS(
        FILTER(
          KEEPFILTERS(VALUES('ABC'[Week.Key0])),
          OR(
            OR(
              OR(
                'ABC'[Week.Key0] = DATE(2021, 10, 25),
                'ABC'[Week.Key0] = DATE(2021, 11, 1)
              ),
              'ABC'[Week.Key0] = DATE(2021, 11, 8)
            ),
            'ABC'[Week.Key0] = DATE(2021, 11, 15)
          )
        )
      )
    ),
    'ABC'[ABC],
    1
  )
 
ORDER BY
  'ABC'[ABC]</pi>| RequestID = 9025749b-f66b-7a35-3398-400d0adfb351 ClientSessionID = 99876310-dc42-c206-5e55-27a1980dcac7

Exemple de filtre de début

^(\d\d\d\d[-]\d\d[-]\d\d\s\d\d[:]\d\d[:]\d\d[.]\d\d\d\d).*

Ce filtre correspond aux lignes suivantes :
Exemple de lignes correspondant à un filtre de début

Exemple de filtre de fin

.*(SessionID\s=\s([\d-\w]+))

Ce filtre correspond aux lignes suivantes :

Exemple de lignes correspondant à un filtre de fin

Si vous utilisez ces deux filtres, l'analyseur multiligne analyse tout ce qui se trouve entre eux et, s'il est sélectionné, inclut l'en-tête et le pied de page.