[syslog-ng] Buffering AF_UNIX Destination, Batch Post Processing Messages
Matthew Hall
mhall at mhcomputing.net
Wed Sep 8 23:24:36 CEST 2010
On Wed, Sep 08, 2010 at 03:53:37PM -0500, Martin Holste wrote:
> This should be no problem for a 60 second batch. The technique was
> borne from my attempt to have N child worker processes. Instead of N,
> I just have on child process. This way, the Syslog-NG -> Perl parent
> pipe stays open all the time, and Perl just swaps in a new child
> process when the 60 second batch is up. Oh, and use the Perl built-in
> "alarm" command for that, as in
Thanks for the code example. I was planning to use some kind of alarm
signal based technique and it helps to see how one should implement
this.
Forking off a new anomaly cruncher each time is problematic because I
will be generating a lot of big data structures which need to be
maintained across 12-24 hours in order to find the kind of anomalies I
need to find. If I fork off new workers, then each worker forgets what
has been stored in the structures previously.
If I am forking off workers I'd like a way for them to see the data
structures without duplicating log messages or data structures due to
the multiple buffer copies, context switches, etc. this will cause.
It was this exact part of the problem which motivated my mails. I have
been unable to think of a good way to pull things out of a pipe, socket,
etc. in 60 second batches in such a way that I could keep pulling into
the new batch, while processing the last batch, without forgetting all
of the statistics I had collected in between.
> Incidentally, I'd be interested in seeing what you come up with for
> the guts of the anomaly crunching, if you're willing to share.
Personally I have an open source full disclosure approach to security
and I do not believe in hiding anything beyond the industry standard 30
day warning window for vulnerabilities. However this tradition is
unfortunately not shared by my employers who have been funding my work
on anomaly detection.
We could however discuss this topic privately and decide if there could
be a way to share some of my publicly available knowledge in a way that
benefits your curiosity and the community at large.
> --Martin
Matthew.
More information about the syslog-ng
mailing list