[syslog-ng] Experiences and question from a newbie

Balazs Scheidler bazsi@balabit.hu
Tue, 8 Jun 1999 10:26:16 +0200


Hi,

> I downloaded the latest releases of libol and syslog-ng nd tried to compile
> them on my test-box (2.0.35, a SuSE 5.3 system). The configuration, making
> ant the installation of libol succeded without any problems. But when I used
> configure in the syslog-ng it was unable to find libol-config although it
> had detected libol (It displayed the correct version number). After adding
> the source-path of libol to $path I was was able to compile syslog-ng
> without any further errors. If this is the normal behaviour it might be a
> good idea to add a hint to the documentation. From this point on everything
> worked as expected. Thanks for this great product.

Hmm... libol-config is installed to $prefix/bin (which is by default
/usr/local/bin), so you need to add that directory to the path. I don't know
how the configure script could find the correct version number without
libol-config. (it's determined by libol-config --version)

> 
> Now, some questions:
> 
> - In the sample config file in the debian/ subdirectory there is a line wich
> states that support for special files is not fully implemented. I am
> currently using the "old" syslog-package on one of my hosts to log data into
> a FIFO from which the data is fetched by a perl script, analysed and put
> into a database. Syslog-ng seems currently not be able to handle fifos
> correctly. When can we expect this to be implemented?

You could use file /path/to/fifo; but when syslog-ng tries to open this
file, it blocks as long as the other end opens the fifo as well. I'll try to
fix this.

> - Is there a howto or a detailed description for writing additional
> (destination) drivers for syslog-ng? I have serveral ideas how to enhance
> syslog-ng by some new drivers (keywords: mail, program, mysql, lpr) and will
> maybe able to contribute.

not yet. though once you made yourself familiar with make_class, which
preprocesses .c files, it's very simple. syslog-ng uses a slightly modified
version of lsh's backend. lsh is a GPLd reimplementation of the SSH2
protocols. make_class comes from lsh, and generates information for the
garbage collector. You can find some information about make_class in the file
HACKING in the lsh source tree.

As an example destination driver check afuser.c, it's quite simple.

-- 
Bazsi
PGP key: http://www.balabit.hu/pgpkey.txt, or finger bazsi@balabit.hu