[syslog-ng]Buffering to a program.
John A. Parker
jap54@cornell.edu
Tue, 24 Oct 2000 06:41:38 -0400
Mahlon,
>My eventual goal is to have one 'logging server', receiving logs from all
>of the other servers around here, and parsing/pushing them into a mysql
>database.
We've implemented basically the same topology here, but instead of
"mysql"ing the messages we're parsing and monitoring the lot of them
looking for those (repeated login failures within or across system(s),
etc..) which might concern us.
What we did was write all messages to named pipes, one for each priority
level. We made our perl script a daemon which reads the messages out of the
named pipes. One of the perceived advantages here was that all buffering is
provided by the OS. Our central server (AIX) comfortably supports over 50
disparate clients (AIX, Sun, NT) and handles an average of 310000 messages
a day. (We had an anomalous day two weeks ago with 800000 messages with no
observed problems.)
The only significant disadvantage we've encountered is that our daemon has
to be running before syslog-ng is started, this due to syslog-ng rightfully
failing to startup if the named pipes are not open, something our daemon does.
Good luck,
John