
Estou usando o nxlog para observar dois arquivos de log do vCenter em um sistema Windows Server 2008 e tenho uma configuração muito simples para enviar mensagens ao Logstash. O Nxlog começou a falhar ontem depois que um arquivo foi girado. Aqui está minha configuração:
<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>
A rotação de log do vCenter é um pouco estranha, então acho que está causando esse problema, pelo menos parcialmente. Você pode ver acima o nome do arquivo que estou assistindo. Este arquivo é criado como vpxd-01.log e incrementado a partir daí. Os arquivos são rotacionados quando atingem 50 MB e os logs antigos são compactados após a criação de dois novos arquivos, por exemplo, vpxd-03 é criado e vpxd-01 é compactado.
Mas ontem o primeiro arquivo que o nxlog começou a monitorar (desde que foi instalado na semana passada) foi girado, causando este erro:
2013-12-28 19:41:08 WARNING input file does not exist: C:\ProgramData\VMware\VMware VirtualCenter\Logs\vpxd-47.log
Ele se repete 12 vezes nas próximas 24 horas e então o nxlog falhou totalmente até que eu reiniciei o serviço ontem de manhã.
Espero que minha explicação faça sentido. Acabei perdendo cerca de seis horas de logs, então quero ter certeza de que isso não aconteça novamente. Alguém tem alguma solução ou sugestão?
Responder1
Tente usar esta entrada em vez de definir [0-5][0-9]:
<Input in2>
Module im_file
File "C:\ProgramData\VMware\VMware VirtualCenter\Logs\vpxd-*.log"
SavePos TRUE
</Input>