Tuesday, July 20, 2010

syslog-ng OSE 3.2 caveats

Starting with syslog-ng OSE 3.2, syslog-ng became plugin based, which has some consequences that even experienced syslog-ng users may stumble into.

The most obvious one, is that syslog-ng now produces a series of .so files loaded at runtime, instead of being a monolithic executable. If a given .so is not not or not loaded, some of the functionality may be missing. This usually manifests itself by a syntax error when parsing the configuration file.

Second: if you compile syslog-ng from source, the unit/functional test programs also want to load plugins, and they try to do that from the install directory. This means that you first have to install syslog-ng using "make install" before running the testsuite. This is not an ideal solution, but should work for now.

Plugins are loaded from $prefix/lib/syslog-ng by default, however this can be changed using the `module-path` global, which contains the list of directories where syslog-ng should look for modules. You can change this using the syntax:

@define module-path `module-path`:/usr/local/lib/syslog-ng-plugins

I think that's it for now.

2 comments:

Pedro_Castro said...

Hi,

I am trying to compile under cygwin environment.

It compiles but when i try to start syslog-ng it shows me a list of errors:

Plugin module not found in 'module-path'; module-path='/usr/local/lib/syslog-ng'
, module='syslogformat'
Plugin module not found in 'module-path'; module-path='/usr/local/lib/syslog-ng'
, module='basicfuncs'
Plugin module not found in 'module-path'; module-path='/usr/local/lib/syslog-ng'
, module='afsocket'
Plugin module not found in 'module-path'; module-path='/usr/local/lib/syslog-ng'
, module='affile'
Plugin module not found in 'module-path'; module-path='/usr/local/lib/syslog-ng'
, module='afprog'
Plugin module not found in 'module-path'; module-path='/usr/local/lib/syslog-ng'
, module='afuser'
Plugin module not found in 'module-path'; module-path='/usr/local/lib/syslog-ng'
, module='dbparser'
Plugin module not found in 'module-path'; module-path='/usr/local/lib/syslog-ng'
, module='csvparser'
Plugin module not found in 'module-path'; module-path='/usr/local/lib/syslog-ng'
, module='syslogformat'
Plugin module not found in 'module-path'; module-path='/usr/local/lib/syslog-ng'
, module='basicfuncs'
Plugin module not found in 'module-path'; module-path='/usr/local/lib/syslog-ng'
, module='afsocket'
Plugin module not found in 'module-path'; module-path='/usr/local/lib/syslog-ng'
, module='affile'
Plugin module not found in 'module-path'; module-path='/usr/local/lib/syslog-ng'
, module='afprog'
Plugin module not found in 'module-path'; module-path='/usr/local/lib/syslog-ng'
, module='afuser'
Plugin module not found in 'module-path'; module-path='/usr/local/lib/syslog-ng'
, module='dbparser'
Plugin module not found in 'module-path'; module-path='/usr/local/lib/syslog-ng'
, module='csvparser'
Plugin module not found in 'module-path'; module-path='/usr/local/lib/syslog-ng'
, module='confgen'
Plugin module not found in 'module-path'; module-path='/usr/local/lib/syslog-ng'
, module='confgen'


Do you know something about it?.

Regards

Bazsi said...

The actual .so files are in /usr/local/lib/syslog-ng ?

I think there's a binary package for cygwin, have you tried using that?