Вход мультилинии Nxlog к 1 сообщению системного журнала

Я использую nxlog для конца пользовательского файла журнала на одном из моих серверов Windows. Каждая запись в текстовом файле выглядит подобной этому.

===================================================================================================================
1/14/2014 3:08:48 PM DOMAIN\user1 adding group member...
    Domain: blah
    Group: TestGroup
    Member: CN=Joe Bob,CN=Users,DC=blah,DC=ARG,DC=com
1/14/2014 3:08:48 PM 1 member added.<br>
================================================================================================

Я пытаюсь отправить этот журнал на свой сервер системного журнала, и я хочу объединить эти несколько строк к 1 строке, таким образом, я могу легко grep/search для определенных пользователей или групп. Я прочитал часть документации относительно веб-сайта nxlog относительно мультилинии, но не нашел, что определенная конфигурация помещает их всех в 1 запись с заголовком системного журнала.

Спасибо, Eric

2
задан 3 June 2014 в 21:27
1 ответ

не тестировали, но я думаю, что вам нужно что-то вроде этого:

<Extension multi>
    Module  xm_multiline
    HeaderLine  /^================/
    EndLine     /^===============/
</Extension>

<Input in>
    Module      im_file
    File        "input.log"
    InputType   multi
    # Remove the boundary markers
    Exec        if $raw_event =~ s/========[=]+//g {}
    # Make a single line
    Exec        $raw_event = replace($raw_event, "\r\n", " ");
</Input>

<Output>
    Module      om_udp
    Host        1.2.3.4
    Port        514
    Exec        to_syslog_bsd();
</Output>

<Route>
  ....
4
ответ дан 3 December 2019 в 10:04

Теги

Похожие вопросы