Ротация журнала приводит к сбою nxlog

Ротация журнала приводит к сбою nxlog

Я использую nxlog для просмотра двух файлов журнала vCenter в системе Windows Server 2008, и у меня очень простая конфигурация для отправки сообщений в Logstash. Nxlog начал давать сбои вчера после ротации файла. Вот моя конфигурация:

<Extension syslog>
    Module      xm_syslog
</Extension>

<Input in1>
    Module      im_file
    File        "C:\ProgramData\VMware\VMware VirtualCenter\Logs\vpxd-[0-5][0-9].log"
    SavePos     TRUE
</Input>

<Input in2>
    Module      im_file
    File        "C:\ProgramData\VMware\VMware VirtualCenter\Logs\vpxd-alert-[0-5][0-9].log"
    SavePos     TRUE
</Input>

<Processor buffer1>
    Module  pm_buffer
    MaxSize 1024
    Type    Mem
    WarnLimit   512
</Processor>

<Processor buffer2>
    Module  pm_buffer
    MaxSize 1024
    Type    Mem
    WarnLimit   512
</Processor>

<Output out1>
    Module      om_udp
    Host        <ip>
    Port        514
</Output>

<Output out2>
    Module      om_udp
    Host        <ip>
    Port        514
</Output>

<Route 1>
    Path        in1 => buffer1 => out1
</Route>

<Route 2>
    Path        in2 => buffer2 => out2
</Route>

Ротация журнала vCenter немного странная, поэтому я думаю, что она, по крайней мере, частично вызывает эту проблему. Вы можете видеть выше имя файла, за которым я наблюдаю. Этот файл создается как vpxd-01.log и увеличивается оттуда. Файлы ротируются, когда достигают 50 МБ, и старые журналы сжимаются после создания двух новых файлов, например, создается vpxd-03 и сжимается vpxd-01.

Но вчера первый файл, за которым nxlog начал следить (с момента установки на прошлой неделе), был изменен, что привело к следующей ошибке:

2013-12-28 19:41:08 WARNING input file does not exist: C:\ProgramData\VMware\VMware VirtualCenter\Logs\vpxd-47.log

Это повторялось 12 раз в течение следующих 24 часов, а затем nxlog полностью перестал работать, пока я не перезапустил службу вчера утром.

Надеюсь, мое объяснение понятно. Я потерял около шести часов журналов, поэтому хочу убедиться, что это не повторится. Есть ли у кого-нибудь решение или предложения?

решение1

Попробуйте использовать этот ввод вместо жесткого определения [0-5][0-9]:

<Input in2>
    Module      im_file
    File        "C:\ProgramData\VMware\VMware VirtualCenter\Logs\vpxd-*.log"
    SavePos     TRUE
</Input>

Связанный контент