From 7df62fcc24967e67287d545ddfff4a036e4b2afd Mon Sep 17 00:00:00 2001
From: Georgi Georgiev Building from the repsitory is not much different than building from the source
+ Building from the repository is not much different than building from the source
tarball, but some files are missing because they are output files and thus do not
belong into the repository.
Obtaining the Source
diff --git a/doc/debug.html b/doc/debug.html
index 557ca6d3..537cd6b4 100644
--- a/doc/debug.html
+++ b/doc/debug.html
@@ -27,7 +27,7 @@ be replaced by something else.
There are two environment variables that set several debug settings:
Sending SIGUSR2 writes new process state information to the log file each time @@ -143,13 +143,13 @@ some diagnostic information on the current processing state. In that case, turni on the mutex debugging options (see above) is probably useful.
Debug logs are primarily meant for rsyslog developers. But they may still provide valuable -information to users. Just be warned that logs sometimes contains informaton the looks like +information to users. Just be warned that logs sometimes contains information the looks like an error, but actually is none. We put a lot of extra information into the logs, and there are some cases where it is OK for an error to happen, we just wanted to record it inside the log. The code handles many cases automatically. So, in short, the log may not make sense to you, but it (hopefully) makes sense to a developer. Note that we developers often need many lines of the log file, it is relatively rare that a problem can be diagnosed by -looking at just a couple of (hundered) log records. +looking at just a couple of (hundred) log records.
The debug log will reveal potentially sensible information, including user accounts and passwords, to anyone able to read the log file. As such, it is recommended to properly @@ -159,7 +159,7 @@ attack or try to hide some information from the log file. As such, it is suggest enable DebugOnDemand mode only for a reason. Note that when no debug mode is enabled, SIGUSR1 and SIGUSR2 are completely ignored.
When running in any of the debug modes (including on demand mode), an interactive -instance of rsyslogd can be aborted by pressing ctl-c. +instance of rsyslogd can be aborted by pressing ctrl-c.
This documentation is part of the
diff --git a/doc/dev_oplugins.html b/doc/dev_oplugins.html
index b33b67f9..802de804 100644
--- a/doc/dev_oplugins.html
+++ b/doc/dev_oplugins.html
@@ -15,7 +15,7 @@ and pointers than to have nothing.
The best to get started with rsyslog plugin development is by looking at
existing plugins. All that start with "om" are output modules. That
means they are primarily thought of being message sinks. In theory, however, output
-plugins may aggergate other functionality, too. Nobody has taken this route so far
+plugins may aggregate other functionality, too. Nobody has taken this route so far
so if you would like to do that, it is highly suggested to post your plan on the
rsyslog mailing list, first (so that we can offer advise).
The rsyslog distribution tarball contains two plugins that are extremely well
@@ -29,7 +29,7 @@ plugins. It is bare of real functionality but has ample comments. Even if you de
to start from another plugin (or even from scratch), be sure to read omtemplate source
and comments first. The omstdout is primarily a testing aide, but offers support for
the two different parameter-passing conventions plugins can use (plus the way to
-differentiate between the two). It also is not bare of functionaly, only mostly
+differentiate between the two). It also is not bare of functionality, only mostly
bare of it ;). But you can actually execute it and play with it.
In any case, you should also read the comments in ./runtime/module-template.h.
Output plugins are build based on a large set of code-generating macros. These
@@ -65,7 +65,7 @@ that shares a single instanceData structure.
So as long as you do not mess around with global data, you do not need
to think about multithreading (and can apply a purely sequential programming
methodology).
- Please note that duringt the configuraton parsing stage of execution, access to
+ Please note that during the configuration parsing stage of execution, access to
global variables for the configuration system is safe. In that stage, the core will
only call sequentially into the plugin.
With the single message plugin interface, each message is passed via a separate call to the plugin.
Most importantly, the rsyslog engine assumes that each call to the plugin is a complete transaction
-and as such assumes that messages be properly commited after the plugin returns to the engine.
+and as such assumes that messages be properly committed after the plugin returns to the engine.
With the batching interface, rsyslog employs something along the line of
"transactions". Obviously, the rsyslog core can not make non-transactional outputs
to be fully transactional. But what it can is support that the output tells the core which
-messages have been commited by the output and which not yet. The core can than take care
-of those uncommited messages when problems occur. For example, if a plugin has received
-50 messages but not yet told the core that it commited them, and then returns an error state, the
+messages have been committed by the output and which not yet. The core can than take care
+of those uncommitted messages when problems occur. For example, if a plugin has received
+50 messages but not yet told the core that it committed them, and then returns an error state, the
core assumes that all these 50 messages were not written to the output. The core then
-requeues all 50 messages and does the usual retry processing. Once the output plugin tells the
+re-queues all 50 messages and does the usual retry processing. Once the output plugin tells the
core that it is ready again to accept messages, the rsyslog core will provide it with these 50
-not yet commited messages again (actually, at this point, the rsyslog core no longer knows that
-it is re-submiting the messages). If, in contrary, the plugin had told rsyslog that 40 of these 50
-messages were commited (before it failed), then only 10 would have been requeued and resubmitted.
+not yet committed messages again (actually, at this point, the rsyslog core no longer knows that
+it is re-submitting the messages). If, in contrary, the plugin had told rsyslog that 40 of these 50
+messages were committed (before it failed), then only 10 would have been re-queued and resubmitted.
In order to provide an efficient implementation, there are some (mild) constraints in that
transactional model: first of all, rsyslog itself specifies the ultimate transaction boundaries.
That is, it tells the plugin when a transaction begins and when it must finish. The plugin
@@ -176,7 +176,7 @@ transaction support. Note that batch sizes are variable within the range of 1 to
maximum limit. Most importantly, that means that plugins may receive batches of single messages,
so they are required to commit each message individually. If the plugin tries to be "smarter"
than the rsyslog engine and does not commit messages in those cases (for example), the plugin
-puts message stream integrity at risk: once rsyslog has notified the plugin of transacton end,
+puts message stream integrity at risk: once rsyslog has notified the plugin of transaction end,
it discards all messages as it considers them committed and save. If now something goes wrong,
the rsyslog core does not try to recover lost messages (and keep in mind that "goes wrong"
includes such uncontrollable things like connection loss to a database server). So it is
@@ -191,8 +191,8 @@ This is also under evaluation and, once decided, the core will offer an interfac
to preserve message stream integrity for properly-crafted plugins).
The second restriction is that if a plugin makes commits in between (what is perfectly
legal) those commits must be in-order. So if a commit is made for message ten out of 50,
-this means that messages one to nine are also commited. It would be possible to remove
-this restriction, but we have decided to deliberately introduce it to simpify things.
+this means that messages one to nine are also committed. It would be possible to remove
+this restriction, but we have decided to deliberately introduce it to simplify things.
In order to keep compatible with existing output plugins (and because it introduces
no complexity), the transactional plugin interface is build on the traditional
@@ -252,7 +252,7 @@ But they convey additional information about the commit status as follows:
Note that the typical calling cycle is One might think that it would be more natural for the DA queue to detect
being idle and shut down itself. However, there are some issues associated with
that. Most importantly, all queue worker threads need to be shut down during
-queue destruction. Only after that has happend, final destruction steps can
+queue destruction. Only after that has happened, final destruction steps can
happen (else we would have a myriad of races). However, it is the DA queues
worker thread that detects it is empty (empty queue detection always happens at
the consumer side and must so). That would lead to the DA queue worker thread to
@@ -115,7 +115,7 @@ destructed). Obviously, this does not work out (and I didn't even mention the
other issues - so let's forget about it). As such, the thread that enqueues
messages must destruct the queue - and that is the primary queue's DA worker
thread. There are some subleties due to thread synchronization and the fact that the
+ There are some subtleties due to thread synchronization and the fact that the
DA consumer may not be running (in a case-2 startup). So it is not
trivial to reliably change the queue back from DA run mode to regular run mode.
The priority is a clean switch. We accept the fact that there may be situations
@@ -132,7 +132,7 @@ most probably even lead to worse performance under regular conditions). Case 2 is unlikely, but may happen (see info above on a case 2 startup). The DA worker may also not wait at all, because it is actively
-executing and shuffeling messages between the queues. In that case, however, the
+executing and shuffling messages between the queues. In that case, however, the
program flow passes both of the two wait conditions but simply does not wait. Finally, the DA worker may be inactive (again, with a case-2 startup).
In that case no work(er) at all is executed. Most importantly, without the DA
@@ -247,4 +247,4 @@ no Front-Cover Texts, and no Back-Cover Texts. A copy of the license can be
viewed at
http://www.gnu.org/copyleft/fdl.html.Getting Message Data
@@ -90,7 +90,7 @@ get it into the core (so far, we could accept all such suggestions - no promise,
request access to the template components. The typical use case seems to be databases, where
you would like to access properties via specific fields. With that mode, you receive a
char ** array, where each array element points to one field from the template (from
-left to right). Fields start at arrray index 0 and a NULL pointer means you have
+left to right). Fields start at array index 0 and a NULL pointer means you have
reached the end of the array (the typical Unix "poor man's linked list in an array"
design). Note, however, that each of the individual components is a string. It is
not a date stamp, number or whatever, but a string. This is because rsyslog processes
@@ -153,19 +153,19 @@ for example in MongoDB or ElasticSearch.
a single-message interface was supported.
Output Plugin Transaction Interface
RS_RET_OK
-The record and all previous inside the batch has been commited.
+ The record and all previous inside the batch has been committed.
Note: this definition is what makes integrating plugins without the
transaction being/end calls so easy - this is the traditional "success" return
state and if every call returns it, there is no need for actually calling
@@ -260,7 +260,7 @@ state and if every call returns it, there is no need for actually calling
RS_RET_DEFER_COMMIT
-The record has been processed, but is not yet commited. This is the
+ The record has been processed, but is not yet committed. This is the
expected state for transactional-aware plugins.
@@ -269,7 +269,7 @@ expected state for transactional-aware plugins.
current one not yet. This state is introduced to support sources that fill up
buffers and commit once a buffer is completely filled. That may occur halfway
in the next record, so it may be important to be able to tell the
-engine the everything up to the previouos record is commited
+engine the everything up to the previous record is committed
beginTransaction()
,
@@ -290,7 +290,7 @@ exists. So we introduce it with that release. What the means is if a rsyslog cor
not provide this query interface, it is a core that was build before batching support
was available. So the absence of a query interface indicates that the transactional
interface is not available. One might now be tempted the think there is no need to do
-the actual check, but is is recommended to ask the rsyslog engine explicitely if
+the actual check, but is is recommended to ask the rsyslog engine explicitly if
the transactional interface is present and will be honored. This enables us to
create versions in the future which have, for whatever reason we do not yet know, no
support for this interface.
diff --git a/doc/dev_queue.html b/doc/dev_queue.html
index bf2af7f0..6d5fe73f 100644
--- a/doc/dev_queue.html
+++ b/doc/dev_queue.html
@@ -80,7 +80,7 @@ and terminating while waiting on the primary queue to fill. In practice, this is
highly unlikely (but only for the main message queue) because rsyslog issues a
startup message. HOWEVER, we can not rely on that, it would introduce a race. If
the primary rsyslog thread (the one that issues the message) is scheduled very
-late and there is a low inactivty timeout for queue workers, the queue worker
+late and there is a low inactivity timeout for queue workers, the queue worker
may terminate before the startup message is issued. And if the on-disk queue
holds only a few messages, it may become empty before the DA worker is
re-initiated again. So it is possible that the DA run mode termination criteria
@@ -105,7 +105,7 @@ clean shutdown of the DA queue).