In queues doc - https://www.rsyslog.com/doc/v8-stable/concepts/queues.html, it says
"There are multiple action queues, one for each configured action. By default, these queues operate in direct (non-queueing) mode" May be, when doc says "Failover will *not* work when you define queues on the actions". It actually means - "when you define non-direct queues on the actions" (As Direct queues on actions are fine for failover - Since return status is passed back to the producer in case of direct queue. ) Is my understanding correct? On Sat, Jun 6, 2020 at 8:46 PM John Chivian via rsyslog < [email protected]> wrote: > "Each action didn't specify any queue parameters - which means they have > a default direct queue." > > That statement is not correct. Actions do not have queues by default. > > If you define a queue on an action, then the action never suspends, > hence the waterfall of "only when previous suspended" will never > accomplish the failover. If an action does not have a queue, and cannot > complete, THEN it will suspend and the next action be attempted. The > queue on the ruleset only comes into play if ALL of the actions are > suspended. > > Regards, > > > On 6/6/20 8:51 AM, rajeshksv via rsyslog wrote: > > Hi All, > > > > As per documentation > > > https://www.rsyslog.com/doc/v8-stable/tutorials/failover_syslog_server.html > , > > it says > > > > "Failover will *not* work when you define queues on the actions". > > > > Proposed solution is > > > > "If you would like to use a queue on the forwarding process as whole, the > > solution is to put all actions into a ruleset and assign a queue to the > > ruleset" > > > > While I understand the rationale behind assigning a queue to the > ruleset, I > > don't understand how the last example given in doc works and first > example > > doesn't work. > > > > In the last example, Ruleset consisted of 3 actions. Each action didn't > > specify any queue parameters - which means they have a default direct > > queue. Since actions have a queue, even the last example should fail > (Just > > like the first example in the doc where actions didn't have a queue > > explicitly defined in config). Please correct me where I got wrong. > > > > ruleset(name="forwarding" queue.type="linkedList" queue.filename="fwdq") > { > > action(type="omfwd" target="primary-syslog.example.com" > port="10514" > > protocol="tcp") > > action(type="omfwd" target="secondary-1-syslog.example.com" > port="10514" > > action.execOnlyWhenPreviousIsSuspended="on") > > action(type="omfwd" target="secondary-2-syslog.example.com" > port="10514" > > action.execOnlyWhenPreviousIsSuspended="on") > > action(type="omfile" tag="failover" file="/var/log/localbuffer" > > action.execOnlyWhenPreviousIsSuspended="on") > > } > > > > if($msg contains "error") then { > > call forwarding > > } > > > > > > > > _______________________________________________ > rsyslog mailing list > https://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. -- Regards, Rajesh KSV _______________________________________________ rsyslog mailing list https://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.

