On Tue, 22 Nov 2016, [email protected] wrote:
What sort of log volume are you talking about here? (logs/sec type of
thing)
From 0 to thousand-thousands/sec
Logstash needs something like redis because it can't do any queueing
itself. Rsyslog is built around queues, and has the ability to create
multiple queues and piplines internally, you don't need to run multiple
instances.
I want multiples instances in order to:
* Being able to process pipelines on different containers/hosts
much less needed on rsyslog due to the higher effiency. I've had rsyslog
handling over a hundred thousand logs/sec on a single host.
* Isolate pipelines to prevent problems on one affecting others
rulesets with queues on each ruleset solvs this for you.
* (others)
that's hard to answer :-)
What you would do is create a ruleset for each application (pipeline) and
give that ruleset it's own queue.
I know it can be done, but not what I'm looking for. Moreover, I would love
to be a "dynamic" configuration
As new logs arrive, you then sort them by application, and for each
application (or application category), you call the appropriate ruleset.
And, if there are a lot of evt/sec, you may have a bottleneck. I'll probably
have a rsyslog cluster based on docker swarm mode
This is unlikly to be a bottleneck. The overhead of recieving a log message,
parsing it, and looking up what ruleset to call is very cheap. At anything under
several hundred thousand logs/sec it's unlikly to max out a single core.
All processing from that point on will take place in different threads
working on different queues for each category.
Will I be able to "reload" rsyslog configuration to add/delete new
rulesets/pipelines?
you can stop/start rsyslog, but there is not a way to change the config on the
fly.
However, if you really want to go this way, one thing you can do is to make use
of the multicast mac feature in ethernet to distribute the same logs to multiple
systems/containers and have each container throw away all logs except what it's
configured to handle.
This lets you add/remove log processing at any time and even have multiple
systems processing the same logs in different ways
https://www.usenix.org/conference/lisa12/technical-sessions/presentation/lang_david
Give it a try, I'll bet that you find the result much simpler and faster.
I expecting your reply ;)
KISS, start simple and only add complexity when you find it's actually needed.
Have plans for how to scale out when you hit limits, but you usually find that
you hit limits far later than expected. Yes, you may have to eventually do the
same work, but by having a solid system now with less work, you can spend the
time saved now to improve other things.
David Lang
_______________________________________________
rsyslog mailing list
http://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.