Запросите определенные журналы из журнала событий с помощью nxlog

Это звучит мне как, Вы пытаетесь импортировать дамп базы данных в рабочее ведомое устройство, любого посредством ldapadd или slapcat. Выполнение slapd экземпляр с механизмом репликации, настроенным в ведомом режиме, отклонит все попытки записи и возвратит сообщение, которое Вы предоставили.

Если мой slurpd базировался, slapd серверы когда-либо становились непоследовательными, я выполнил довольно прямую процедуру восстановления:

  1. Поместите ведущее устройство в режим только для чтения.
  2. Сделайте новый дамп от ведущего устройства и скопируйте его в любые непоследовательные ведомые устройства (или копия с резервных копий).
  3. Полностью остановите slapd на ведомом устройстве, которое Вы хотите восстановить.
  4. Очистите содержание каталога данных, /var/lib/ldap (Вы могли бы хотеть сохранить Ваш DB_CONFIG файл, если параметры не определяются в slapd.conf),
  5. Использовать slapadd восстановить каталог на ведомом устройстве (перемещение DB_CONFIG назад при необходимости)
  6. Запускайте ведомое устройство обычно.
  7. Переключите ведущее устройство назад в режим чтения-записи.

    да, я использую slurpd метод репликации. Это хорошо работало, но так или иначе это сломалось и до того времени не работа

Вы, вероятно, выполняете OpenLDAP 2.3.43, так как это - то, что упаковывается в CentOS 5.4. К сожалению, из-за этого Вы, также, вероятно, столкнетесь с проблемами репликации снова в будущем, если Вы не сможете обновить до более нового OpenLDAP (2.4) сервер.

slurpd было очень дефектным, проверьте документы OpenLDAP 2.4 для полного объяснения почему. Более новые выпуски OpenLDAP идут с новым названным механизмом репликации syncrepl который намного более устойчив и почти непроницаем для отказа.

В будущем, если Вы интересуетесь получением справки, мигрирующей на более новый сервер OpenLDAP, я могу предложить руководство там также.

3
задан 3 October 2013 в 18:49
3 ответа

Вы, вероятно, найдете ответ на свой вопрос здесь:

http://www.mail-archive.com/ nxlog-ce-users@lists.sourceforge.net / msg00082. html

0
ответ дан 3 December 2019 в 06:09

Я не уверен, является ли ваше событие INFO | WARNING | ERROR или что-то в этом роде ... но здесь ...

Exec    if $raw_event !~ /INFO\s+4663/ drop();

Быстро, Используйте Regex ... если мой $ raw_event equals " 2013-11-18 15:23:02 INFO 18-12-2013 15:23:01 ahost.adomain.local INFO 62464 Информация UVD " Я бы использовал следующее для события DROP:

Exec    if $raw_event =~ /INFO\s+62464/ drop();

Краткий пример, вам нужно использовать RegEx, чтобы найти именно то, что вам нужно, когда вы обращаетесь к переменной $ raw_event. Удалите / измените "log_info" после тестирования.

Exec if ($raw_event =~ /INFO\s+62464/) \
    { \
        log_info('Found amdkmdag EventID 62464, dropping it.'); \
        drop(); \
    }

Полный пример, где я использую nxlog-ce (Windows) для сервера SysLog Debian / Graylog в формате GELF.

## This is a basic configuration file for Windows Server 2008 * 2012 
## to GrayLog2 with GELF support and filtering.
## See the nxlog reference manual about the configuration options. 
## It should be installed locally and is also available
## online at http://nxlog.org/nxlog-docs/en/nxlog-reference-manual.html

## Please set the ROOT to the folder your nxlog was installed into,
## otherwise it will not start.

define ROOT C:\Program Files (x86)\nxlog
# define ROOT C:\Program Files\nxlog

Moduledir %ROOT%\modules
CacheDir %ROOT%\data
Pidfile %ROOT%\data\nxlog.pid
SpoolDir %ROOT%\data
LogFile %ROOT%\data\nxlog.log

<Extension gelf>
    Module xm_gelf
</Extension>

<Input pr_mseventlog>
    Module      im_msvistalog
    ReadFromLast    True
    # http://msdn.microsoft.com/en-us/library/aa385231.aspx
    # http://msdn.microsoft.com/en-us/library/ff604025(v=office.14).aspx
    # Level 1 (ID=30  Critical)     severity level events
    # Level 2 (ID=40  Error)        severity level events
    # Level 3 (ID=50  Warning)      severity level events
    # Level 4 (ID=80  Information)  severity level events
    # Level 5 (ID=100 Verbose)      severity level events
    # All channels are included by default which are listed in the registry under these:
    # HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\WINEVT\Channels 
    # HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\eventlog\System
    #
    # <Select Path='Key Management Service'>*</Select></Query>\
    # <Select Path='Internet Explorer'>*</Select></Query>\
    # <Select Path='HardwareEvents'>*</Select></Query>\
    #
    Query   <QueryList>\
        <Query Id="0">\
            <Select Path="Security">*</Select>\
            <Select Path="System">*[System/Level=4]</Select>\
            <Select Path="Application">*[Application/Level=2]</Select>\
            <Select Path="Setup">*[System/Level=3]</Select>\
            <Select Path='Windows PowerShell'>*</Select>\
        </Query>\
    </QueryList>

    # REGEX EXAMPLES:
    # "\s" equals one white space character, and ".*" equals any one char 
    # Line Contains both "bubble" and "gum"
    #   Search pattern: ^(?=.*?\bbubble\b)(?=.*?\bgum\b).*
    # Line does Not Contain "boy"
    #   Search pattern: ^(?!.*boy).*
    # Line Contains "bubble" but Neither "gum" Nor "bath"
    #   Search pattern: ^(?=.*bubble)(?!.*gum)(?!.*bath).*

    # Uncomment next line to view all logs, we can view output to help 
    # create the regex, next line shows my $raw_event data to parse:
    # 2013-11-18 15:23:02 INFO 2013-12-18 15:23:01 ahost.adomain.local INFO 62464 UVD Information
    # Exec   log_info($raw_event) ;
    Exec if ($raw_event =~ /INFO\s+62464/) drop();

</Input>

<Output out>
    Module      om_udp
    Host        10.247.x.x
    Port        12201
    OutputType  GELF
</Output>

<Route 1>
    Path    pr_mseventlog  => out
</Route>
1
ответ дан 3 December 2019 в 06:09

Выполнение Сопоставление регулярных выражений в $ raw_event немного некрасиво и неэффективно.

Я предлагаю использовать следующую форму:

Exec if string($EventID) !~ /^42/ drop()

Альтернативой является использование выбора события XML:

Query <QueryList> \
           <Query Id="0">\
              <Select Path="Security">*[System[(EventID='4663')]]</Select>\
           </Query>\
      </QueryList>

Хотя похоже, что совпадение «начало с» здесь не работает:

Ограничения XPath 1.0:

Журнал событий Windows поддерживает подмножество XPath 1.0. Существуют ограничения на то, какие функции работают в запросе. Например, вы можете использовать функции "положение", "диапазон" и "разница по времени". внутри запроса , но другие функции, такие как «начинается с» и «содержит» в настоящее время не поддерживаются .

3
ответ дан 3 December 2019 в 06:09

Теги

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