summaryrefslogtreecommitdiff
path: root/doc/omfwd.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/omfwd.html')
-rw-r--r--doc/omfwd.html86
1 files changed, 76 insertions, 10 deletions
diff --git a/doc/omfwd.html b/doc/omfwd.html
index a541dd2..d535b29 100644
--- a/doc/omfwd.html
+++ b/doc/omfwd.html
@@ -13,14 +13,21 @@
<p>The omfwd plug-in provides the core functionality of traditional message forwarding via UDP and plain TCP. It is a built-in module that does not need to be loaded. </p>
<p>&nbsp;</p>
-<p><b>Global Configuration Directives</b>:</p>
+<p><b><i>Note: this documentation describes features present in v7+ of
+rsyslog. If you use an older version, scroll down to "legacy parameters".</i></b>
+If you prefer, you can also
+<a href="http://www.rsyslog.com/how-to-obtain-a-specific-doc-version/">obtain
+a specific version of the rsyslog documentation</a>.
+<p>&nbsp;</p>
+
+<p><b>Module Parameters</b>:</p>
<ul>
<li><strong>Template </strong>[templateName]<br>
sets a non-standard default template for this module.<br></li>
</ul>
<p>&nbsp;</p>
-<p><b>Action specific Configuration Directives</b>:</p>
+<p><b>Action Parameters</b>:</p>
<ul>
<li><strong>Target </strong>string<br>
Name or IP-Address of the system that shall receive messages. Any resolvable name is fine. <br></li><br>
@@ -35,7 +42,67 @@
Framing-Mode to be for forwarding. This affects only TCP-based protocols. It is ignored for UDP. In protocol engineering, ``framing'' means how multiple messages over the same connection are separated. Usually, this is transparent to users. Unfortunately, the early syslog protocol evolved, and so there are cases where users need to specify the framing. The traditional framing is nontransparent. With it, messages are end when a LF (aka ``line break'', ``return'') is encountered, and the next message starts immediately after the LF. If multi-line messages are received, these are essentially broken up into multiple message, usually with all but the first message segment being incorrectly formatted. The octet-counting framing solves this issue. With it, each message is prefixed with the actual message length, so that a receivers knows exactly where the message ends. Multi-line messages cause no problem here. This mode is very close to the method described in RFC5425 for TLS-enabled syslog. Unfortunately, only few syslogd implementations support octet-counted framing. As such, the traditional framing is set as default, even though it has defects. If it is known that the receiver supports octet-counted framing, it is suggested to use that framing mode. <br></li><br>
<li><strong>ZipLevel </strong>0..9 [default 0]<br>
- Compression level for messages. Rsyslog implements a proprietary capability to zip transmitted messages. Note that compression happens on a message-per-message basis. As such, there is a performance gain only for larger messages. Before compressing a message, rsyslog checks if there is some gain by compression. If so, the message is sent compressed. If not, it is sent uncompressed. As such, it is totally valid that compressed and uncompressed messages are intermixed within a conversation. <br>The compression level is specified via the usual factor of 0 to 9, with 9 being the strongest compression (taking up most processing time) and 0 being no compression at all (taking up no extra processing time). <br></li><br>
+ Compression level for messages.
+ <br>Up until rsyslog 7.5.1, this was the only compression setting that
+ rsyslog understood. Starting with 7.5.1, we have different compression
+ modes. All of them are affected by the ziplevel. If, however, no mode
+ is explicitely set, setting ziplevel also turns on "single"
+ compression mode, so pre 7.5.1 configuration will continue to work
+ as expected.
+ <br>The compression level is specified via the usual factor of 0 to 9, with 9 being the strongest compression (taking up most processing time) and 0 being no compression at all (taking up no extra processing time). <br></li><br>
+
+ <li><b>maxErrorMessages </b>integer [default 5], available since 7.5.4<br>
+ This sets the maximum number of error messages that omfwd
+ emits during regular operations. The reason for such an upper
+ limit is that error messages are conveyed back to rsyslog's
+ input message stream. So if there would be no limit, an endless
+ loop could be initiated if the failing action would need to
+ process its own error messages and the emit a new one. This is
+ also the reason why the default is very conservatively low.
+ Note that version prior to 7.5.4 did not report any error
+ messages for the same reason. Also note that with the initial
+ implementation only errors during UDP forwarding are logged.<br></li><br>
+
+ <li><b>compression.mode</b> <i>mode</i><br>
+ <i>mode</i> is one of "none", "single", or "stream:always". The
+ default is "none", in which no compression happens at all.
+ <br>In "single" compression mode, Rsyslog implements a proprietary
+ capability to zip transmitted messages. That compression happens
+ on a message-per-message basis. As such, there is a performance gain
+ only for larger messages. Before compressing a message, rsyslog checks
+ if there is some gain by compression. If so, the message is sent
+ compressed. If not, it is sent uncompressed. As such, it is totally
+ valid that compressed and uncompressed messages are intermixed
+ within a conversation.
+ <br>In "stream:always" compression mode the full stream is being
+ compressed. This also uses non-standard protocol and is compatible
+ only with receives that have the same abilities. This mode offers
+ potentially very high compression ratios. With typical syslog
+ messages, it can be as high as 95+% compression (so only one twentieth
+ of data is actually transmitted!). Note that this mode introduces
+ extra latency, as data is only sent when the compressor emits new
+ compressed data. For typical syslog messages, this can mean that
+ some hundered messages may be held in local buffers before they are
+ actually sent. This mode has been introduced in 7.5.1.
+ <br><b>Note: currently only imptcp supports receiving stream-compressed
+ data.</b>
+ <br></li><br>
+
+ <li><b>compression.stream.flushOnTXEnd</b> <i>[<b>on</b>/off</i>] (requires 7.5.3+)<br>
+ This setting affects stream compression mode, only. If enabled (the default), the compression
+ buffer will by emptied at the end of a rsyslog batch. If set to "off",
+ end of batch will not affect compression at all.<br>
+ While setting it to "off" can potentially greatly improve compression
+ ratio, it will also introduce severe delay between when a message is being processed
+ by rsyslog and actually sent out to the network. We have seen cases where for
+ several thousand message not a single byte was sent. This is good in the sense that
+ it can happen only if we have a great compression ratio. This is most probably
+ a very good mode for busy machines which will process several thousand messages
+ per second and te resulting short delay will not pose any problems. However,
+ the default is more conservative, while it works more "naturally" with even low
+ message traffic. Even in flush mode, notable compression should be achivable
+ (but we do not yet have practice reports on actual compression ratios).
+ <br></li><br>
<li><strong>RebindInterval </strong>integer<br>
Permits to specify an interval at which the current connection is broken and re-established. This setting is primarily an aid to load balancers. After the configured number of messages has been transmitted, the current connection is terminated and a new one started. Note that this setting applies to both TCP and UDP traffic. For UDP, the new ``connection'' uses a different source port (ports are cycled and not reused too frequently). This usually is perceived as a ``new connection'' by load balancers, which in turn forward messages to another physical target system. <br></li><br>
@@ -64,12 +131,11 @@
<p><b>Caveats/Known Bugs:</b></p><ul><li>None.</li></ul>
<p><b>Sample:</b></p>
<p>The following command sends all syslog messages to a remote server via TCP port 10514.</p>
-<textarea rows="5" cols="60">Module (load="builtin:omfwd")
-*.* action(type="omfwd"
-Target="192.168.2.11"
-Port="10514"
-Protocol="tcp"
-)
+<textarea rows="5" cols="60">action(type="omfwd"
+ Target="192.168.2.11"
+ Port="10514"
+ Protocol="tcp"
+ )
</textarea>
<br><br>
@@ -116,7 +182,7 @@ Protocol="tcp"
index</a>] [<a href="http://www.rsyslog.com/">rsyslog site</a>]</p>
<p><font size="2">This documentation is part of the
<a href="http://www.rsyslog.com/">rsyslog</a> project.<br>
-Copyright © 2008 by <a href="http://www.gerhards.net/rainer">Rainer Gerhards</a> and
+Copyright &copy; 2008-2013 by <a href="http://www.gerhards.net/rainer">Rainer Gerhards</a> and
<a href="http://www.adiscon.com/">Adiscon</a>. Released under the GNU GPL
version 3 or higher.</font></p>