Yep. I've already read that one. What was not clear was whether there is one main queue and it's always like that even if different rulesets have their own queues or is it that there are separate queues processed asynchronously.

Thanks for clarification.

On 15.04.2020 00:42, David Lang wrote:
by default, there is one main queue. If you have an input tied to a ruleset, the messages still go on the main queue.

If you define a queue on that ruleset, the incoming messages never hit the main queue (the queue for the ruleset effectively becomes the main queue for those messages)

each queue has one or more worker threads, those worker threads go through the config and execute each statement. Some of the statements will reference another queue. In those cases, the worker thread just copies the message to that queue and continues (assuming the queue isn't full) These queues will then have their own worker threads, and can then run into things that involve additional queues.

as for how the worker threads operation on different actions, see if this helps you understand it

https://www.rsyslog.com/doc/v8-stable/whitepapers/queues_analogy.html


On Tue, 14 Apr 2020, Mariusz Kruk via rsyslog wrote:

Date: Tue, 14 Apr 2020 15:32:46 +0200
From: Mariusz Kruk via rsyslog <[email protected]>
To: [email protected]
Cc: Mariusz Kruk <[email protected]>
Subject: [rsyslog] Number of queues

Hi. I'm getting a bit confused reading the docs regarding queues.

On one hand - the https://www.rsyslog.com/doc/master/concepts/queues.html document says that "Currently, queues are used for the main message queue and for the actions. There is a single main message queue inside rsyslog. Each input module delivers messages to it".

On the other hand, https://www.rsyslog.com/doc/master/concepts/multi_ruleset.html says that you can activate per-ruleset queue by setting queue.type for a ruleset.

So how does it work, especially with many inputs tied to different rulesets having their own queues? And multiple outputs, possibly with relations many-to-many between inputs and outputs.

Intuitive answer would be that every input is tied to a different ruleset and thus different queue. Outputs have their own queues. But what is the connection between input ruleset queues and output queues?


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

_______________________________________________
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