Enabling reliable disk-based buffering
The following destination drivers can use the disk-buffer option: amqp()
, elasticsearch2()
, file()
, hdfs()
, http()
, kafka()
, mongodb()
, program()
, redis()
, riemann()
, smtp()
, sql()
, stomp()
, unix-dgram()
, and unix-stream()
. The network()
, syslog()
, tcp()
, and tcp6()
destination drivers can also use the disk-buffer option, except when using the udp
transport method. (The other destinations or protocols do not provide the necessary feedback mechanisms required for the disk-buffer option.)
To enable reliable disk-based buffering, use the disk-buffer(reliable(yes))
parameter in the destination. Use reliable disk-based buffering if you do not want to lose logs in case of reload/restart, unreachable destination or AxoSyslog crash. This solution provides a slower, but reliable disk-buffer option. It is created and initialized at startup and gradually grows as new messages arrive. The filename of the reliable disk buffer file is the following: <syslog-ng path>/var/syslog-ng-00000.rqf
.
Example: Example for using reliable disk-based buffering
destination d_BSD {
network("127.0.0.1"
port(3333)
disk-buffer(
flow-control-window-bytes(10000)
capacity-bytes(2000000)
reliable(yes)
)
);
};
For details on the differences between normal and reliable disk-based buffering, see also About disk queue files.