Skip to content

martonilles/syslog-ng-incubator

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

syslog-ng module incubator

The syslog-ng module incubator (Incubator henceforth) is a collection of tools and modules for syslog-ng that for one reason or the other, are not part of the official repository. This serves both as a staging ground for experimental modules, and as a repository of plugins that are not aimed at upstream inclusion. It's also an example of a third party syslog-ng module.

NOTE: The Incubator requires syslog-ng 3.6.1 or newer. Contents

  • Lua destination: This destination is really just a wrapper, that allows one to write destination drivers in Lua, with some limitations.

  • Perl destination: This destination allows one to write destination plugins in Perl.

  • Python destination: This destination allows one to write destination plugins in Python.

  • Trigger source: A very simple example source that periodically generates a message. Useful mostly for debugging purposes.

  • Monitor source: A module similar to the trigger source, except it dispatches to a Lua function to generate the message.

  • Extra template functions: Extra template functions, such as $(//) which is floating-point division, as opposed to the built-in $(/) (integer division).

    Functions:

    • // : floating point division
    • or : returns first non-empty string
    • state : gets or sets global state from template function.
    • padding : pads a string to a specified width with specified chars.
  • $(getent) template function: A template function to look up users (by uid or name), groups or services, and retrieve some of the found properties.

  • RSS destination: A very simple destination module that allows one to offer log messages as an RSS feed.

  • logmongource: A log visualisation tool that extracts messages from a MongoDB collection, and visualises them with Gource.

  • Kafka destination: A simple, work in progress destination that allows syslog-ng to send events to the Apache Kafka distributed queue.

  • Grok parser: Grok is an advanced pattern format (like PatternDB) used primarily by LogStash, which allows users to parse unstructured data into a structured format. This module allows syslog-ng users to use Grok patterns, too.

    Grok C parser for grok.

  • 0MQ source/destination: ZeroMQ is a simple, high-speed messaging protocol. These drivers allows syslog-ng to send/receive logs from ZeroMQ message brokers.

    0MQ message protocol.

  • Java destination: Java destination drivers enables the users to write destinations in Java or in any JVM compatible language.

  • Date parser: A parser for arbitrary date formats which may be contained in non-syslog messages.

Installation

Installing the modules and tools follows the usual autotools way:

$ git clone git://github.com/balabit/syslog-ng-incubator.git
$ cd syslog-ng-incubator
$ autoreconf -i
$ ./configure && make && make install

Of course, one will need all the dependencies (syslog-ng, bison, flex, libmongo-client, lua, perl, python, rdkafka; of which the latter six are optional) installed too.

Docker container

An automatically built docker container is available at https://registry.hub.docker.com/u/talien/syslog-ng-incubator/ from the latest development snapshot.

License

Copyright (C) 2011-2014 BalaBit IT Security Ltd., Gergely Nagy algernon@balabit.hu, Viktor Tusa tusa@balabit.hu, Viktor Juhasz viktor.juhasz@balabit.com, and other contributors; released under the terms of the GNU General Public License, version 2 (or later).

About

Experimental modules for syslog-ng 3.5+

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 91.3%
  • Java 6.9%
  • Lua 1.1%
  • Other 0.7%