$ModLoad immarkThat config syntax was deprecated and finally broke in recent versions of rsyslog. That's fine... let's update to the new config syntax. The module load becomes
$MarkMessagePeriod 600
module(load="immark")But what about the MarkMessagePeriod setting? I could not find any useful information about it. Trying this
module(load="immark")
$MarkMessagePeriod 600
resulted in
liblogging-stdlog[881]: command 'MarkMessagePeriod' is currently not permitted - did you already set it via a RainerScript command (v6+ config)? [v8.24.0 try http://www.rsyslog.com/e/2222 ]
and the information at the link was unhelpful.
My next attempt was
module(load="immark" MarkMessagePeriod="600")
and that resulted in this error
liblogging-stdlog[1084]: error during parsing file /etc/rsyslog.d/mark.conf, on or before line 1: parameter 'MarkMessagePeriod' not known -- typo in config file? [v8.24.0 try http://www.rsyslog.com/e/2207 ]
Time to look at the code: https://github.com/rsyslog/rsyslog/blob/master/plugins/immark/immark.c
From there I finally found the correct name to use in the module-global parameters struct. It's called interval. So the working configuration is
module(load="immark" interval="600")
I wish the maintainer had published a list of conversions for the configuration of the plugins. In no way is it obvious that $MarkMessagePeriod should be changed to interval. *sigh*