On Fri, 2 Aug 2013, Rodrian, Logan P (IS) wrote:

I am running RHEL 6.3 with included rsyslog-5.8.10-2 rpm.

I am having an issue upon system boot, whereby logs are not being written to 
/var/log/messages when the (later) action to send to another host via TCP 
cannot make a connection.

A snippet from my rules are as follows:

...
# Log anything except authpriv, cron, syslog, of level info or higher.
*.info;local0.none;authpriv.none;cron.none;syslog.none  /var/log/messages

more rules<<

action and driver mode settings<<
*.info;local0.*             @@SOME_IP:SOME_PORT

...
It does not matter if I put the remote rule before or after the one directing 
to /var/log/messages.

After boot, I test using 'logger -p security.crit some message', where I would 
expect the string 'some message' to appear in /var/log/messages, but it is not 
there.

Using wireshark, I see that the only network traffic upon boot are ARP messages 
looking for SOME_IP.

If I restart the rsyslog service, then I can re-execute the 'logger' command 
and then I do see the expected string in /var/log/messages.  Looking again at 
wireshark, there are still only ARP messages looking for SOME_IP.

Is there a bug in this version that causes hanging on boot, whereby some 
dependent service/item isn't running yet that does exist/is ready when doing a 
service restart?  The order of services starting are iptables, network, 
rsyslog, ...

Any ideas as to what is causing this/how to fix it?

remember that when rsyslog starts up it logs a startup message.

If that message is unable to be written to one of your destinations, rsyslog will not process additional logs until and unless it decides to stop writing any logs to that destination.

one way to deal with this is to create an action queue for the remote message, that way it won't halt processing of logs for other destinations.

If the destination remains unavailable, eventually the action queue will fill up and you will be back in the same situation.

The other thing you will need to look at is the retry/discard settings, telling rsyslog how many times to retry sending the log to an output before deciding that it's always going to fail, and what to do in that situation.

It's common for people to set retries = -1, which tells rsyslog to never give up, but without seeing your entire config, this is just a guess.

David Lang
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/
What's up with rsyslog? Follow https://twitter.com/rgerhards
NOTE WELL: This is a PUBLIC mailing list, posts are ARCHIVED by a myriad of 
sites beyond our control. PLEASE UNSUBSCRIBE and DO NOT POST if you DON'T LIKE 
THAT.

Reply via email to