[syslog-ng] syslog-ng OSE git tree opened
Balazs Scheidler
bazsi at balabit.hu
Thu Oct 2 12:39:39 CEST 2008
Dear syslog-ng users,
I'm proud to announce that I've opened the syslog-ng OSE 3.0 branch and
pushed a backport of the result of the latest Premium Edition
development cycle.
The size of the patch is enourmous, it took me a while to integrate it
back to OSE 3.0, that's why this announcement is coming so late. The
diffstat is as follows:
175 files changed, 21537 insertions(+), 7377 deletions(-)
The list of changes of interest are:
* various performance improvements, syslog-ng can do about 120-130k
messages/sec in case no destination is written to (not very useful though),
and about 75k msg/sec when writing to a plain text file
* TLS encrypted channels, works the same as the PE version, documentation is:
http://www.balabit.com/dl/html/syslog-ng-admin-guide_en.html/ch03s09.html
* support for the new IETF syslog protocols, in order to use this, you need to
use the syslog() driver either as a source or a destination. It behaves quiet
closely to tcp/udp, except it uses the new protocol
* log message classification using a database, scales up to tens of thousands
of messages per second, the pattern database also serves as a means to
parse variable parts of messages. No real documentation so far, there's an
XML Schema file in the tarball, it can be used using the db_parser() parser.
* rewrite parts of the message using regexps, and simple string search and replace. Here's
a post on the syslog-ng mailing list that has some info on usage:
http://marc.info/?l=syslog-ng&m=122051372205555&w=2
* parse parts of the syslog message, makes
it possible to parse fields in an Apache log for instance. Also the parsed values can
be used as macros. Again, the post above has some info:
http://marc.info/?l=syslog-ng&m=122051372205555&w=2
* generalize the log message paths, instead of a flat list of source->destination
connections, log statements can be organized into a tree, making the
configuration simpler and the performance better, here is a description:
http://bazsi.blogs.balabit.com/2008/02/redesigning-syslog-ng-internals.html
* PCRE and glob filters (in addition to POSIX regexps), use the type("pcre")
option in the filter, like this: host("something" type("pcre"))
* support for capabilities under Linux, this running syslog-ng as non-root is possible,
also with reload support, see the documentation of Linux capabilities in capabilities(7),
for the syntax of the --caps option, see cap_from_text(3)
* program sources, simply use program("cat /dev/xconsole") in your configuration, the program
will be restarted automatically if that exits.
* syslog-ng got the ability to restart itself if it crashes, see the --process-mode
command line option
* new statistics framework that can be queried using UNIX domain sockets, provides
per-source-host and per-destination-host statistics. In order to use it, possibly set
the stats_level() option and write "STATS\n" to /var/run/syslog-ng.ctl which is a UNIX domain socket.
This mass amount of changes also mean some incompatibilities between 2.1 and 3.0, however
3.0 will work in compatibility mode unless it is told to use the 3.0 configuration
file format. It'll also report warnings against your configuration file you should change
in order to use all the features and best performance.
The most important incompatibilities include:
* the $MSG macro will not include the "program[pid]:" string anymore, you should prepent
an $MSGHDR macro in order to have that, in 2.1 mode the MSG will expand as before, but
please note that this value is calculated everytime you reference the macro, thus it
affects performance.
* some defaults were changed (chain_hostname, template-escape, follow-freq for file sources),
in 2.1 mode the old defaults are used but a warning is emitted
* the input path does not remove NL characters anymore by default, but you can ask for this
behaviour by specifying the "no-multi-line" flag.
The documentation for the new features is not yet completely finished, I
hope to get a snapshot of the current state to the website soon. In the
meanwhile either use the source :) or ask direct questions on the
mailing list. I'll also try to make some posts on my blog about various
features in more detail and configuration examples.
--
Bazsi
More information about the syslog-ng
mailing list