On Tue, 11 Oct 2011, Lu, Victor  wrote:

David,

I am not clear about what you are saying. Which version of the rsyslog are 
based on for the following statements.

" the reason that -HUP was changed from being a restart to just reopeing files (which is enough for log rotation to work) is because doing a full shutdown can take a long time, and can eventually timeout and throw away logs anyway."

That is what I exactly need. We can't do a full restart of rsyslogd at all.

a full restart of rsyslog is a kill and restart (/etc/init.d/rsyslog stop; /etc/init.d/rsyslog restart)

However, if you look at the following website. The -HUP command was not 
supported,
http://www.rsyslog.com/doc/v4compatibility.html

The command normally used by the log rotation
$ kill -HUP `cat /var/run/rsyslogd.pid`

Will be replaced with rsyslog restart.

$ /etc/init.d/rsyslog restart

and what does this script do if it's not a kill -HUP? this script isn't provided by rsyslog, it's provided by the distribution

And I have tested using kill -HUP command to rsyslogd on version 5.8.5, it does not have any effect to the rsyslogd process.

I use  kill -HUP all the time for versions 5.x and 6.x

kill -HUP doesn't do anything visibile on the system, but if you do a mv on the logfiles that rsyslog is writing to, rsyslog will continue to write to the file in it's new location. Then you do a kill -HUP and rsyslog closes those files and opens them under their configured names.

David Lang


 > Thanks

Victor
-----Original Message-----
From: [email protected] 
[mailto:[email protected]] On Behalf Of [email protected]
Sent: Tuesday, October 11, 2011 4:41 PM
To: rsyslog-users
Subject: Re: [rsyslog] kill -HUP command issue

On Tue, 11 Oct 2011, Michael Biebl wrote:

2011/10/11 Lu, Victor <[email protected]>:
Hi there,

The following links discuss why kill -HUP is not supported by rsyslog, version 
5 and above.

 http://www.rsyslog.com/doc/v4compatibility.html

 http://www.rsyslog.com/doc/v5compatibility.html

Here is the note from the website:  That code complexity reduction (and thus 
performance improvement) needs the restart-type HUP code to be removed, so 
these changes can (and will) only happen in version 5.

However, restart of the rsyslog daemon will cause the syslog messages loss. Has 
anybody thought about it? Is there a way to guarantee no system log message 
loss like kill -HUP command provided?

You could use systemd for that:
http://www.freedesktop.org/wiki/Software/systemd/syslog

systemd doesn't solve the problem

the reason that -HUP was changed from being a restart to just reopeing files 
(which is enough for log rotation to work) is because doing a full shutdown can 
take a long time, and can eventually timeout and throw away logs anyway.

consider the case where you have messages in your queue that you cannot write 
to a destination (say a remote server is down for example), unless you have a 
disk assisted queue setup you cannot do anything except throw these messages 
away.

you also cannot shutdown without message loss if you have a continuous stream 
of new messages arriving.

having a -HUP do a full restart caused message loss at every -HUP because of 
the 'new messages continually arriving' for the common UDP syslog case, but 
without doing a HUP (or equivalent), you can't roll the log files as rsyslog 
would continue to write to the old (open) files.

also, changing configurations (which is where you need to do a restart) is a 
_very_ rare condition compared to log rotation.



you can avoid message loss on restart by using RELP for your transport
protocol and disk assisted queues.

does this solve your problems? or is there some other reason you are
looking to do a full restart instead of just re-opening files and network
connections on a HUP?

David Lang
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com

Reply via email to