Anwendungsfall-File Forwarder Multiline

Multiline-Parsing ist eine Funktion des File Forwarder-Plug-ins zur Verwendung, wenn die Datei, die weitergeleitet werden soll, mehrzeilige Blöcke enthält.

Wenn Sie diese zusätzlichen Optionen verwenden möchten, müssen Sie die erweiterte Benutzerschnittstelle aktivieren und das Feld 'Dateiparser' auf Multiple lines per eventsetzen.
Hinweis: Verwenden Sie die Optionen der erweiterten Benutzerschnittstelle nur auf Anweisung des IBM Support.

Sie können die neuen Felder verwenden, wenn Sie mehrzeilige Nutzdaten erfassen möchten.

Sie können auch die Kopf-und Fußzeile eines Blocks ein-oder ausschließen, indem Sie die entsprechende Option auswählen.

Sie können auch das führende und abschließende Leerzeichen löschen, indem Sie die entsprechende Option auswählen. Der Standardbegrenzer ist ein Leerzeichen.

Tabelle 1. Felder
Mehrere Zeilen pro Ereignis    
Filter zum Starten eines mehrzeiligen Blocks field-regex-erforderlich Eine Maske oder ein Filter sucht die erste Zeile, die in mehreren Zeilen verarbeitet werden soll. Sie können * (mehrere Zeichen) ? (ein Zeichen) und # (eine Zahl) oder einen regulären Ausdruck verwenden.
Filter zum Beenden eines mehrzeiligen Blocks field-regex-erforderlich Eine Maske oder ein Filter sucht die letzte Zeile, die in mehreren Zeilen verarbeitet werden soll. Sie können * (mehrere Zeichen) ? (ein Zeichen) und # (eine Zahl) oder einen regulären Ausdruck verwenden.
Anfangs-und Endzeilen eines Mehrzeilenblocks einschließen checkbox-boolescher Wert-erforderlich Sie können die ersten (Kopfzeile) und letzten (Fußzeile) Zeilen eines Blocks ein-oder ausschließen.
BlockTrimLines checkbox-boolescher Wert-erforderlich Schneiden Sie die Linien ab, bevor Sie dem Block durch ein Leerzeichen getrennt hinzufügen.

Beispiel für einen mehrzeiligen Block

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

Beispiel für 'Filter starten'

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

Dieser Filter entspricht den folgenden Zeilen:
Beispiel für Zeilen, die mit dem Startfilter übereinstimmen

Beispiel für Endfilter

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

Dieser Filter entspricht den folgenden Zeilen:

Beispiel für Zeilen, die mit dem Endfilter übereinstimmen

Wenn Sie beide Filter verwenden, analysiert der mehrzeilige Parser alle dazwischen liegenden Elemente und schließt bei Auswahl die Kopf-und Fußzeile ein.