summaryrefslogtreecommitdiff
path: root/doc/imfile.html
diff options
context:
space:
mode:
Diffstat (limited to 'doc/imfile.html')
-rw-r--r--doc/imfile.html254
1 files changed, 0 insertions, 254 deletions
diff --git a/doc/imfile.html b/doc/imfile.html
deleted file mode 100644
index 8c9a425..0000000
--- a/doc/imfile.html
+++ /dev/null
@@ -1,254 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html><head>
-<meta http-equiv="Content-Language" content="en"><title>Text File Input Monitor</title></head>
-<body>
-<a href="rsyslog_conf_modules.html">back</a>
-
-<h1>Text File Input Module</h1>
-<p><b>Module Name:&nbsp;&nbsp;&nbsp; imfile</b></p>
-<p><b>Author: </b>Rainer Gerhards
-&lt;rgerhards@adiscon.com&gt;</p>
-<p><b>Description</b>:</p>
-<p>Provides the ability to convert any standard text file into
-a syslog message. A standard
-text file is a file consisting of printable characters with lines
-being&nbsp;delimited by LF.</p>
-<p>The file is read line-by-line and any line read is passed to
-rsyslog's rule engine. The rule engine applies filter conditions and
-selects which actions needs to be carried out. Empty lines are <b>not</b>
-processed, as they would result in empty syslog records. They are simply
-ignored.</p>
-<p>As new lines are written they are taken from the file and
-processed. Please note that this happens based on a polling interval
-and not immediately. The file monitor support file rotation. To fully
-work, rsyslogd must run while the file is rotated. Then, any remaining
-lines from the old file are read and processed and when done with that,
-the new file is being processed from the beginning. If rsyslogd is
-stopped during rotation, the new file is read, but any not-yet-reported
-lines from the previous file can no longer be obtained.</p>
-<p>When rsyslogd is stopped while monitoring a text file, it
-records the last processed location and continues to work from there
-upon restart. So no data is lost during a restart (except, as noted
-above, if the file is rotated just in this very moment).</p>
-<p>Currently, the file must have a fixed name and location
-(directory). It is planned to add support for dynamically generating
-file names in the future.</p>
-<p>Multiple files may be monitored by specifying
-$InputRunFileMonitor multiple times.
-</p>
-
-<p><b>Configuration Directives</b>:</p>
-<p><b>Module Directives</b></p>
-<ul>
-<li><span style="font-weight: bold;">PollingInterval
-seconds</span><br>
-This is a global setting. It specifies how often files are to be polled
-for new data. The time specified is in seconds. The <span style="font-weight: bold;">default value</span> is 10
-seconds. Please note that future
-releases of imfile may support per-file polling intervals, but
-currently this is not the case. If multiple PollingInterval
-statements are present in rsyslog.conf, only the last one is used.<br>
-A short poll interval provides more rapid message forwarding, but
-requires more system resources. While it is possible, we stongly
-recommend not to set the polling interval to 0 seconds. That will make
-rsyslogd become a CPU hog, taking up considerable resources. It is
-supported, however, for the few very unusual situations where this
-level may be needed. Even if you need quick response, 1 seconds should
-be well enough. Please note that imfile keeps reading files as long as
-there is any data in them. So a "polling sleep" will only happen when
-nothing is left to be processed.</li>
-</ul>
-
-<p><b>Action Directives</b></p>
-<ul>
-<li><strong>(required) File&nbsp;/path/to/file</strong><br>
-The file being monitored. So far, this must be an absolute name (no
-macros or templates)</li>
-<li><span style="font-weight: bold;">(required) Tag
-tag:</span><br>
-The tag to be used for messages that originate from this file. If you
-would like to see the colon after the tag, you need to specify it here
-(as shown above).</li>
-<li><span style="font-weight: bold;">(required) StateFile
-&lt;name-of-state-file&gt;</span><br>
-Rsyslog must keep track of which parts of the to be monitored file it
-already processed. This is done in the state file. This file always is
-created in the rsyslog working directory (configurable via
-$WorkDirectory). Be careful to use unique names for different files
-being monitored. If there are duplicates, all sorts of "interesting"
-things may happen. Rsyslog currently does not check if a name is
-specified multiple times.
-Note that when $WorkDirectory is not set or set to a non-writable
-location, the state file will not be generated.</li>
-<li><span style="font-weight: bold;">Facility
-facility</span><br>
-The syslog facility to be assigned to lines read. Can be specified in
-textual form (e.g. "local0", "local1", ...) or as numbers (e.g. 128 for
-"local0"). Textual form is suggested. <span style="font-weight: bold;">Default</span> &nbsp;is
-"local0".<span style="font-weight: bold;"></span></li>
-<li><span style="font-weight: bold;">Severity</span><br>
-The
-syslog severity to be assigned to lines read. Can be specified in
-textual form (e.g. "info", "warning", ...) or as numbers (e.g. 4 for
-"info"). Textual form is suggested. <span style="font-weight: bold;">Default</span>
-is "notice".</li>
-<li><b>PersistStateInterval</b> [lines]</b><br>
-Specifies how often the state file shall be written when processing the input
-file. The <strong>default</strong> value is 0, which means a new state file is only written when
-the monitored files is being closed (end of rsyslogd execution). Any other
-value n means that the state file is written every time n file lines have
-been processed. This setting can be used to guard against message duplication due
-to fatal errors (like power fail). Note that this setting affects imfile
-performance, especially when set to a low value. Frequently writing the state
-file is very time consuming.
-<li><b>ReadMode</b> [mode]</b><br>
-This mode should defined when having multiline messages. The value can range from 0-2 and determines the multiline detection method.
-<br>0 (<strong>default</strong>) - line based (Each line is a new message)
-<br>1 - paragraph (There is a blank line between log messages)
-<br>2 - indented (New log messages start at the beginning of a line. If a line starts with a space it is part of the log message before it)
-<li><b>escapeLF</b> [<b>on</b>/off] (requires v7.5.3+)<br>
-This is only meaningful if multi-line messages are to be processed. LF characters embedded into
-syslog messages cause a lot of trouble, as most tools and even the legacy syslog TCP protocol
-do not expect these. If set to "on", this option avoid this trouble by properly escaping
-LF characters to the 4-byte sequence "#012". This is consistent with other rsyslog control character
-escaping. By default, escaping is turned on. If you turn it off, make sure you test very carefully
-with all associated tools. Please note that if you intend to use plain TCP syslog with embedded
-LF characters, you need to enable octet-counted framing. For more details, see Rainer's blog posting on
-<a href="http://blog.gerhards.net/2013/09/imfile-multi-line-messages.html">imfile LF escaping</a>.
-<li><b>MaxLinesAtOnce</b> [number]</b>
-<br>
-This is useful if multiple files need to be monitored. If set to 0, each file
-will be fully processed and then processing switches to the next file
-(this was the default in previous versions). If it is set, a maximum of
-[number] lines is processed in sequence for each file, and then the file is
-switched. This provides a kind of mutiplexing the load of multiple files and
-probably leads to a more natural distribution of events when multiple busy files
-are monitored. The <strong>default</strong> is 1024.
-<li><b>MaxSubmitAtOnce</b> [number]</b>
-<br>
-This is an expert option. It can be used to set the maximum input batch size that
-imfile can generate. The <strong>default</strong> is 1024, which is suitable for a wide range of
-applications. Be sure to understand rsyslog message batch processing before you
-modify this option. If you do not know what this doc here talks about, this is a
-good indication that you should NOT modify the default.
-<li><b>Ruleset</b> &lt;ruleset&gt;
-Binds the listener to a specific <a href="multi_ruleset.html">ruleset</a>.</li>
-</ul>
-<b>Caveats/Known Bugs:</b>
-<p>So far, only 100 files can be monitored. If more are needed,
-the source needs to be patched. See define MAX_INPUT_FILES in imfile.c</p><p>Powertop
-users may want to notice that imfile utilizes polling. Thus, it is no
-good citizen when it comes to conserving system power consumption. We
-are currently evaluating to move to inotify(). However, there are a
-number of subtle issues, which needs to be worked out first. We will
-make the change as soon as we can. If you can afford it, we recommend
-using a long polling interval in the mean time.
-</p>
-<p><b>Sample:</b></p>
-<p>The following sample monitors two files. If you need just one,
-remove the second one. If you need more, add them according to the
-sample ;). This code must be placed in /etc/rsyslog.conf (or wherever
-your distro puts rsyslog's config files). Note that only commands
-actually needed need to be specified. The second file uses less
-commands and uses defaults instead.<br>
-</p>
-<textarea rows="15" cols="60">module(load="imfile" PollingInterval="10") #needs to be done just once
-# File 1
-input(type="imfile" File="/path/to/file1"
- Tag="tag1"
- StateFile="statefile1"
- Severity="error"
- Facility="local7")
-# File 2
-input(type="imfile" File="/path/to/file2"
- Tag="tag2"
- StateFile="statefile2")
-# ... and so on ...
-#
-</textarea>
-
-
-<p><b>Legacy Configuration Directives</b>:</p>
-<p>Note: in order to preserve compatibility with previous versions, the
-LF escaping in multi-line messages is turned off for legacy-configured
-file monitors (the "escapeLF" input parameter). This can cause serious problems.
-So it is highly suggested that new deployments use the new input() statement
-and keep LF escaping turned on.
-<ul>
-<li><strong>$InputFileName&nbsp;/path/to/file</strong><br>
-equivalent to: File </li>
-<li><span style="font-weight: bold;">$InputFileTag
-tag:</span><br>
-equivalent to: Tag </li>
-<li><span style="font-weight: bold;">$InputFileStateFile
-&lt;name-of-state-file&gt;</span><br>
-equivalent to: StateFile </li>
-<li><span style="font-weight: bold;">$InputFileFacility
-facility</span><br>
-equivalent to: Facility </span></li>
-<li><span style="font-weight: bold;">$InputFileSeverity</span><br>
-equivalent to: Severity</li>
-<li><span style="font-weight: bold;">$InputRunFileMonitor</span><br>
-This <span style="font-weight: bold;">activates</span>
-the current monitor. It has no parameters. If you forget this
-directive, no file monitoring will take place.</li>
-<li><span style="font-weight: bold;">$InputFilePollInterval
-seconds</span><br>
-equivalent to: PollingInterval</li>
-<li><b>$InputFilePersistStateInterval</b> [lines]</b><br>
-Available in 4.7.3+, 5.6.2+<br>
-equivalent to: PersistStateInterval
-<li><b>$InputFileReadMode</b> [mode]</b><br>
-Available in 5.7.5+<br>
-equivalent to: ReadMode
-<li><b>$InputFileMaxLinesAtOnce</b> [number]</b><br>
-Available in 5.9.0+<br>
-equivalent to: MaxLinesAtOnce
-<li>$InputFileBindRuleset &lt;ruleset&gt;<br>
-Available in 5.7.5+, 6.1.5+<br>
-equivalent to: Ruleset </li>
-</ul>
-<b>Caveats/Known Bugs:</b>
-<p>So far, only 100 files can be monitored. If more are needed,
-the source needs to be patched. See define MAX_INPUT_FILES in imfile.c</p><p>Powertop
-users may want to notice that imfile utilizes polling. Thus, it is no
-good citizen when it comes to conserving system power consumption. We
-are currently evaluating to move to inotify(). However, there are a
-number of subtle issues, which needs to be worked out first. We will
-make the change as soon as we can. If you can afford it, we recommend
-using a long polling interval in the mean time.
-</p>
-<p><b>Sample:</b></p>
-<p>The following sample monitors two files. If you need just one,
-remove the second one. If you need more, add them according to the
-sample ;). This code must be placed in /etc/rsyslog.conf (or wherever
-your distro puts rsyslog's config files). Note that only commands
-actually needed need to be specified. The second file uses less
-commands and uses defaults instead.<br>
-</p>
-<textarea rows="15" cols="60">$ModLoad imfile # needs to be done just once
-# File 1
-$InputFileName /path/to/file1
-$InputFileTag tag1:
-$InputFileStateFile stat-file1
-$InputFileSeverity error
-$InputFileFacility local7
-$InputRunFileMonitor
-# File 2
-$InputFileName /path/to/file2
-$InputFileTag tag2:
-$InputFileStateFile stat-file2
-$InputRunFileMonitor
-# ... and so on ...
-#
-# check for new lines every 10 seconds
-$InputFilePollInterval 10
-</textarea>
-<p>[<a href="rsyslog_conf.html">rsyslog.conf overview</a>]
-[<a href="manual.html">manual 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 &copy; 2008 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>
-</body></html>