From 0463087a30a033a52fa6af58fa29c4df6db0b0f7 Mon Sep 17 00:00:00 2001 From: Rainer Gerhards Date: Tue, 17 Nov 2009 11:27:55 +0100 Subject: doc: improved description of what loadable modules can do --- doc/rsyslog_conf_modules.html | 53 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 50 insertions(+), 3 deletions(-) (limited to 'doc/rsyslog_conf_modules.html') diff --git a/doc/rsyslog_conf_modules.html b/doc/rsyslog_conf_modules.html index 99f37747..805894e7 100644 --- a/doc/rsyslog_conf_modules.html +++ b/doc/rsyslog_conf_modules.html @@ -19,8 +19,16 @@ modules solve your need, you may consider writing one or have one written for you by Adiscon's professional services for rsyslog (this often is a very cost-effective and efficient way of getting what you need). +

There exist different classes of loadable modules: +

-

Input Modules

+

Input Modules

Input modules are used to gather messages from various sources. They interface to message generators.

-

Output Modules

+

Output Modules

Output modules process messages. With them, message formats can be transformed and messages be transmitted to various different targets.

-

Library Modules

+

Parser Modules

+

Parser modules are used to parse message content, once the message has been +received. They can be used to process custom message formats or invalidly formatted +messages. For details, please see the rsyslog +message parser documentation. +

The current modules are currently provided as part of rsyslog: +

+ +

Message Modification Modules

+

Message modification modules are used to change the content of messages being processed. +They can be implemented using either the output module or the parser module interface. +From the rsyslog core's point of view, they actually are output or parser modules, it is their +implementation that makes them special. +

Currently, there do not exist any such modules, but could be written with +the methods the engine provides. They could be used, for example, to: +

+ +

Library Modules

Library modules provide dynamically loadable functionality for parts of rsyslog, most often for other loadable modules. They can not be user-configured and are loaded automatically by some components. They are just mentioned so that error messages that point to library moduls can be understood. No module list is provided. +

Where are the modules integrated into the Message Flow?

+

Depending on their module type, modules may access and/or modify messages at +various stages during rsyslog's processing. Note that only the "core type" (e.g. input, +output) but not any type derived from it (message modification module) specifies when +a module is called. +

The simplified workflow is as follows: +

+ +

As can be seen, messages are received by input modules, then passed to one or many +parser modules, which generate the in-memory representation of the message and may +also modify the message itself. The, the internal representation is passed to +output modules, which may output a message and (with the interfaces newly introduced +in v5) may also modify messageo object content. +

Note that the actual flow is much more complex and depends a lot on queue and +filter settings. This graphic above is a high-level message flow diagram. +

[manual index] [rsyslog.conf] [rsyslog site]

-- cgit