On Tue, 22 Oct 2013, David Lang wrote:
If you are doing a lot of complicated regex stuff for creating strings,
strongly consider writing (or asking Adiscon to write) a custom string
generation module. It's very likely that a bit of C code can do things far
more efficently than what you have to do in the template configuation to
create the paths.
I'm strongly in favor of pushing message cleanups out to the first-tier relay
systems, you probably have more of them, and as such you can allocate more
CPU to cleanup work.
when you use JSON in your relay layer you can add additional metadata to the
log message without confusing the final destination (things like the real
source IP of the log message, is this dev/QA/prod/DR, what business unit is
this for so alerts can go to the right people, etc)
re: TCP vs UDP, if you are just going over a local switch, UDP is very
reliable, the more potential chokepoints in the path, the more valuable TCP
becomes. RELP really becomes needed when the path becomes long and there are
a lot of messages in flight, or you end up with connections with a relatively
high probability of silently failing (WAN links, or firewalls that can
timeout connections or failover/restart and loose track of existing
connections are great examples)
by the way, metadata could be application name or other extracted information
that you then use directly in your templates on the central servers without
having to parse it out.
David Lang
David Lang
On Tue, 22 Oct 2013, Boylan, James wrote:
The performance problems are the expected ones. Our current environment
layout has two large log archiving servers using rather complex regex for
generating the dynafile name. Added to that, we are looking at adding
output to elasticsearch, but to do so we need to use an even more complex
set of regex to build the JSON output. So you can imagine the negative
impact to the environment when handling that many messages per second.
I've just finished rewriting the config in the new format and with the
patch for re_extract that Rainer sent I've implemented all of the regex in
local variables since there was a lot of duplicate regex comparisons
happening. That's helped a lot.
I'm looking at breaking it out so the relay layer only acts as traffic
manager and rebuilding the Rsyslog message to force a FQDN into the server
name field. Then it will be passed to the specific server pools for
handling archiving, elasticsearch and hadoop.
All of this is done with TCP as we needed to make sure that packets reached
the destination as reliably as possible without adding too much overhead.
(I'm still considering relp on the transmission portion between the relay
layer and the back end services, but I haven't made a decision yet.)
-- James
----- Reply message -----
From: "David Lang" <[email protected]>
To: "rsyslog-users" <[email protected]>
Subject: [rsyslog] Large Scale Rsyslog deployment
Date: Tue, Oct 22, 2013 5:03 am
On Tue, 22 Oct 2013, Boylan, James wrote:
I know there are several individuals on the list that manage a large scale
Rsyslog environment handle 70k to 100k+ messages per second.
I was wondering if they could share roughly the number of Rsyslog
instances
running on their relay layer. I'm hoping to get confirmation on the
numbers
I'm looking at. Commenting on if they are using UDP versus TCP would be
helpful as well.
I am vastly overprovisioned on the relay layer as I put in relays per
environment. I use UDP from the application servers to the relay and then
UDP if
it's relaying on a local subnet (multi-homed relay systems in one
datacenter) or
RELP if it's relaying to a remote network (especially if it goes over a
WAN)
in my older, all-local setup I put 6 pairs of relays in one datacenter, in
the
newer, larger environment I started with 3 pairs of relays per datacenter,
but
expect that more will be needed eventually (I am no longer at the company,
so I
won't be building out that system further). I have all of these relay to
one
pair of core relay boxes that then distribute the logs to the different
analysis
boxes.
It depends a lot on what you are doing on the relay boxes. If you are just
relaying messages without modifying them, you should be able to get up to
gig-E
wire speed on a single box (although we recently found a bottleneck that
triggered imudp to be able to be multithreaded to handle that load)
if you are modifying the messages, doing encryption, etc you may find that
you
run into performance limitations sooner.
If you are running into performance problems, we'd be interested in hearing
details and trying to address them.
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.
_______________________________________________
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.
_______________________________________________
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.
_______________________________________________
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.