Caso de uso - Multilinhas do File Forwarder

A análise sintática multilinhas é um recurso do plug-in File Forwarder para ser usado quando o arquivo a ser encaminhado contém blocos multilinhas.

Para usar essas opções adicionais, deve-se ativar a IU avançada e configurar o campo Analisador de arquivos para Multiple lines per event
Nota: use as opções de IU avançada apenas sob orientação do Suporte IBM .

É possível usar os novos campos quando desejar capturar uma carga útil multilinhas.

Também é possível incluir ou excluir o cabeçalho e o rodapé de um bloco, selecionando a opção relevante.

Também é possível remover o espaço em branco à esquerda e à direita, selecionando a opção relevante. O delimitador padrão é um espaço.

Tabela 1. Campos
Várias linhas por evento    
Filtrar até o início de um bloco multilinhas campo-regex-obrigatório Uma máscara ou filtro localiza a primeira linha para processar em multilinhas. É possível usar * (vários caracteres) ? (um caractere) e # (um número) ou uma expressão regular.
Filtrar até o término de um bloco multilinhas campo-regex-obrigatório Uma máscara ou filtro encontra a última linha para processar em multilinhas. É possível usar * (vários caracteres) ? (um caractere) e # (um número) ou uma expressão regular.
Incluir as linhas inicial e final de um bloco multilinhas caixa de seleção-booleano-obrigatório É possível incluir ou excluir a primeira (cabeçalho) e a última (rodapé) linhas de um bloco.
BlockTrimLines caixa de seleção-booleano-obrigatório Remove as linhas antes de incluir no bloco separado por um espaço.

Exemplo de bloco multilinhas

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

Exemplo de filtro inicial

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

Este filtro corresponde às linhas a seguir:
Linhas correspondidas por exemplo de filtro inicial

Exemplo de filtro final

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

Este filtro corresponde às linhas a seguir:

Linhas correspondidas por exemplo de filtro final

Se você usar esses dois filtros, o analisador sintático multilinhas analisará tudo entre eles e, se selecionados, incluirá o cabeçalho e o rodapé.