
Estoy usando nxlog para observar dos archivos de registro de vCenter en un sistema Windows Server 2008 y tengo una configuración muy simple para enviar mensajes a Logstash. Nxlog comenzó a fallar ayer después de que se rotó un archivo. Aquí está mi configuración:
<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>
La rotación del registro de vCenter es un poco extraña, así que creo que está causando al menos parcialmente este problema. Puedes ver desde arriba el nombre del archivo que estoy viendo. Este archivo se crea como vpxd-01.log y se incrementa desde allí. Los archivos se rotan cuando alcanzan los 50 MB y los registros antiguos se comprimen después de que se crean dos archivos nuevos, por ejemplo, se crea vpxd-03 y se comprime vpxd-01.
Pero ayer se rotó el primer archivo que nxlog había comenzado a mirar (desde que se instaló la semana pasada), lo que provocó este error:
2013-12-28 19:41:08 WARNING input file does not exist: C:\ProgramData\VMware\VMware VirtualCenter\Logs\vpxd-47.log
Se repite 12 veces durante las siguientes 24 horas y luego nxlog falló por completo hasta que reinicié el servicio ayer por la mañana.
Ojalá mi explicación tenga sentido. Terminé perdiendo aproximadamente seis horas de registros, así que quiero asegurarme de que esto no vuelva a suceder. ¿Alguien tiene alguna solución o sugerencia?
Respuesta1
Intente utilizar esta entrada en lugar de definir [0-5][0-9]:
<Input in2>
Module im_file
File "C:\ProgramData\VMware\VMware VirtualCenter\Logs\vpxd-*.log"
SavePos TRUE
</Input>