Configuration of pm_buffer behind om_file

View thread

julienBourdon

Hi,

Here's my case :

I'm trying to create Syslog Server Configuration, based on CentOS. Server must :
-- Receive log from tcp -- store log into a NFS Volume automaticaly mounted by fstab on server startup ---- in case of fail of the NFS Volume, create a buffer on local disk.

Here's my configuration :

<Extension _syslog> Module xm_syslog </Extension>

<Extension _xm_file> Module xm_fileop </Extension>

<Input in> Module im_tcp Host 0.0.0.0 Port 39458 <Exec> $SERVER = hostname(); parse_syslog_ietf(); $DATE = strftime($EventTime, "%Y%m%d"); </Exec> </Input>

<Processor buffer> Module pm_buffer maxSize 204800 Type Disk Directory %LOGDIR% WarnLimit 190000 </Processor>

<Processor blocker> Module pm_blocker <Exec> $CHEMIN = "/var/partage/"+$SERVER; $test = dir_exists($CHEMIN); if $test == TRUE { blocker->block(FALSE); } else blocker->block(TRUE); </Exec> </Processor>

<Output out> Module om_file File "/var/partage/"+$SERVER+"/"+$Hostname+"/"+$DATE+"_"+$Hostname+".log" CreateDir TRUE Exec to_syslog_ietf(); </Output>

<Route tcp_to_file> Path in => buffer => blocker => out </Route>

My Problem :

  • When NFS Volume is down, pm_blocker write " can't check condition "dir_exists(<Path>)" : input/outpur Error"
  • When i try without pm_blocker, om_file fails with same error and no buffer created....

Question :

  • What is the best solution to implement a disk buffer system for om_file module ?
  • How can i catch NFS volume exceptions ?

Thanks in advance, best regards, Julien