"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.

Reply via email to