summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2007-08-02 16:23:39 +0000
committerRainer Gerhards <rgerhards@adiscon.com>2007-08-02 16:23:39 +0000
commit3aaa3ac894b21a21fb601e1a74664cb795e8e39b (patch)
tree9fa06ac8a05244ae7efdcc3d8f88fac0d02d5e98 /doc
parentcab25ffa715c48d8f14ab2d5942898f8368287f7 (diff)
downloadrsyslog-3aaa3ac894b21a21fb601e1a74664cb795e8e39b.tar.gz
rsyslog-3aaa3ac894b21a21fb601e1a74664cb795e8e39b.tar.xz
rsyslog-3aaa3ac894b21a21fb601e1a74664cb795e8e39b.zip
added $ActionExecOnlyIfPreviousIsSuspended config directive
Diffstat (limited to 'doc')
-rw-r--r--doc/rsyslog_conf.html37
1 files changed, 33 insertions, 4 deletions
diff --git a/doc/rsyslog_conf.html b/doc/rsyslog_conf.html
index 85a902ff..73f71986 100644
--- a/doc/rsyslog_conf.html
+++ b/doc/rsyslog_conf.html
@@ -28,6 +28,35 @@ specifies a pattern of facilities and priorities belonging to the specified
action.<br>
<br>
Lines starting with a hash mark (&quot;#'') and empty lines are ignored.
+<h2>ActionExecOnlyIfPreviousIsSuspended</h2>
+<p>This directive allows to specify if actions should always be executed (&quot;off,&quot;
+the default) or only if the previous action is suspended (&quot;on&quot;). This directive
+works hand-in-hand with the multiple actions per selector feature. It can be
+used, for example, to create rules that automatically switch destination servers
+or databases to a (set of) backup(s), if the primary server fails. Note that
+this feature depends on proper implementation of the suspend feature in the
+output module.</p>
+<p>The following is an example of what can be done with it (a config file
+excerpt):</p>
+<p><code><b>*.* @@primary-syslog.example.com<br>
+$ActionExecOnlyIfPreviousIsSuspended on<br>
+&amp;&nbsp;&nbsp; @@secondary-1-syslog.example.com&nbsp;&nbsp;&nbsp; # &amp; is used to
+have more than one action for<br>
+&amp;&nbsp;&nbsp; @@secondary-2-syslog.example.com&nbsp;&nbsp;&nbsp; # the same
+selector - the mult-action feature<br>
+&amp;&nbsp;&nbsp; /var/log/localbuffer<br>
+$ActionExecOnlyIfPreviousIsSuspended off # to re-set it for the next selector</b></code></p>
+<p>This selector processes all messages it receives (*.*).&nbsp; It tries to
+forward every message to primary-syslog.example.com (via tcp). If it can not
+reach that server, it tries secondary-1-syslog.example.com, if that fails too,
+it tries secondary-2-syslog.example.com. If neither of these servers can be
+connected, the data is stored in /var/log/localbuffer. Please note that the
+secondaries and the local log buffer are only used if the one before them does
+not work. So ideally, /var/log/localbuffer will never receive a message. If one
+of the servers resumes operation, it automatically takes over processing again.</p>
+<p>We strongly advise not to use repeated line reduction together with
+ActionExecOnlyIfPreviousIsSuspended. It may lead to &quot;interesting&quot; and undesired
+results (but you can try it if you like). </p>
<h2>Allowed Sender Lists</h2>
<p>Allowed sender lists can be used to specify which remote systems are allowed
to send syslog messages to rsyslogd. With them, further hurdles can be placed
@@ -598,10 +627,10 @@ filters. An example would be</p>
&amp; root<br>
&amp; /var/log/critmsgs</b></code></p>
<p>These three lines send critical messages to the usrs rger and root and also
-store them in /var/log/critmsgs. Using multiple actions per selector is
-convenient and also comes with a performance benefit. As the filter needs to be
-evaluated only once, there is less computation required to process the directive
-compared to these otherwise-equal config directives:</p>
+store them in /var/log/critmsgs. <b>Using multiple actions per selector is</b>
+convenient and also <b>offers a performance benefit</b>. As the filter needs to
+be evaluated only once, there is less computation required to process the
+directive compared to the otherwise-equal config directives below:</p>
<p><code><b>*.=crit rger<br>
*.=crit root<br>
*.=crit /var/log/critmsgs</b></code></p>