Red Hat 6 rsyslog no longer flushes to disk?

redhatter redhatter at m-plify.net
Mon Oct 17 09:24:57 UTC 2011


Hi,

I have just noticed that there seems to be no way to make rsyslogd empty 
its buffers to disk.

--> Can that be? Is there an undocumented way?



In syslogd there was the HUP signal to "close files", flushing buffers.

In rsyslogd, the HUP signal has been use in a perverse way to perform a 
"full restart", explicitly LOSING buffers (and any UDP packets sent 
while it is gone).

Definitely an "unimprovement".


In the man page we read something that has been written while waiting in 
the queue at the local fast food restaurant (Comments in []):

-----
"HUP":

This lets rsyslogd perform close all open files. Also, in v3 a full 
restart will be done in order to read changed configuration files [OKAY..].
Note that this means a full rsyslogd restart is done. [YES I GOT IT. WHY 
THE UNHAPPINESS WITH "service restart"?]
This has, among others, the consequence that TCP and other connections 
are torn down. [D'OH!]
Also, if any queues are not running in disk assisted mode or are not set 
to persist data on shutdown, queue data is lost [:-(((((]
HUPing rsyslogd is an extremely expensive operation and should only be 
done when actually necessary.
Actually, it is a rsyslgod stop immediately followed by a  restart. 
[YES, GREAT]
Future versions will remove this restart functionality of HUP (it will 
go away in v5).
So it is advised to use HUP only for closing files, and a "real restart" 
(e.g. /etc/rc.d/rsyslogd restart) to activate configuration changes. 
[THIS MAKES NO SENSE AT ALL AND MUST BE A LEFTOVER FROM AN EARLIER RELEASE]
-----





More information about the redhat-list mailing list