Skip to content
Snippets Groups Projects
Thomas Bellman's avatar
Thomas Bellman authored
Add support to syslog::client to queue up messages in the client if
the server can't be reached.  This should allow us to not lose log
messages in case of shorter outages (hours, but not days) of the log
server, whether planned or unscheduled.

The defult setting is to have a queue of at most 100'000 messages,
stored in memory on the client rsyslog daemon.  For many systems at
NSC, that would cover several hours of server outage.  Systems that
generate large amounts of logs, may want to tune that, or enable
disk-assisted queueing, where rsyslog stores "overflow" on disk.

In order for the client to detect that the log server is gone, it
needs to use TCP or RELP, not UDP.  We thus change the default of
the protocol parameter of syslog::client to "tcp" as well.

Preliminary support for disk-assisted queueing is included, but we
have had some troubles getting this mode to work well in our testing
(rsyslogd hung when shut down, for example), so consider that support
to be experimental for the time being!

Currently, we generate old-style directives in the configuration
snippet.  This works both in rsyslog version 5 (RHEL-6) and rsyslog
version 8 (RHEL-7 and RHEL-8), so we don't need multiple code paths
to handle them both.  However, when we can retire version 5 support
some time in the future, we should transition to RainerScript for
this.
faa954bc
History
Name Last commit Last update