Need help understanding the use of the buffer module in the TCP module of NXLog Community Edition
- I'm trying to use NXLog Community Edition to send logs to Kiwi Syslog. I'm using the TCP connection method. I noticed that when I disconnect the destination for some period of time, after turning it back up after some hours, I can still see the logs that were generated during the destination downtime. This is happening even without the buffer module.
I'm wondering what the use of the buffer module in the TCP module is. Is it necessary to use the buffer module to ensure that all logs are sent to the destination, even if the destination is temporarily unavailable?
2. From the below configuration file, if we use a memory and disk-based buffer, how will the logs be allocated? And if it creates a buffer logs.q file, what is the maximum size of each file?
## Please set the ROOT to your nxlog installation directory
#define ROOT C:\Program Files\nxlogdefine ROOT C:\Program Files (x86)\nxlog
Moduledir %ROOT%\modulesCacheDir %ROOT%\dataPidfile %ROOT%\data\nxlog.pidSpoolDir %ROOT%\dataLogFile %ROOT%\data\nxlog.log
<Extension syslog> Module xm_syslog</Extension>
<Input generate_data> Module im_testgen #Maxcount 100 Exec to_syslog_bsd();</Input>
# Monitor Windows event logs#<Input eventlog># Module im_msvistalog#</Input>
<Processor buffer> Module pm_buffer #10 MB buffer MaxSize 10000 Type Disk MEM #warn at 5MB WarnLimit 5000</Processor>
<Output logs_output> Module om_file File "C:\Users\test\output_logs.log"</Output>
<Output tcp> Module om_tcp Host 192.168.x.x Port 1514</Output>
<Route 1> Path generate_data => buffer => logs_output => tcp</Route>
(for testing I'm using test gen module)provide environment description
windows 10 IOT EnterpriseVersion
Nxlog community latest version