1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770
|
global() configuration object
=============================
The global configuration object permits to set global parameters. Note
that each parameter can only be set once and cannot be re-set
thereafter. If a parameter is set multiple times, the behaviour is
unpredictable. As with other configuration objects, parameters for this
object are case-insensitive.
The following parameters can be set:
- **action.reportSuspension** - binary, default "on", v7.5.8+
If enabled ("on") action will log message under `*syslog.\**` when an
action suspends or resumes itself. This usually happens when there are
problems connecting to backend systems. If disabled ("off"), these
messages are not generated. These messages can be useful in detecting
problems with backend systems. Most importantly, frequent suspension
and resumption points to a problem area.
- **action.reportSuspensionContinuation** - binary, default "off", v7.6.1+, v8.2.0+
If enabled ("on") the action will not only report the first suspension but
each time the suspension is prolonged. Otherwise, the follow-up messages
are not logged. If this setting is set to "on", action.reportSuspension is
also automatically turned "on".
- **workDirectory**
Sets the directory that rsyslog uses for work files, e.g. imfile state
or queue spool files.
- **umask** available 8.26.0+
Sets the rsyslogd process' umask. If not specified, the system-provided default
is used. The value given must always be a 4-digit octal number, with the initial
digit being zero.
- **dropMsgsWithMaliciousDNSPtrRecords**
- **localHostname**
Permits to overwrite the local host hostname.
- **preserveFQDN**
- **defaultNetstreamDriverCAFile**
For `TLS syslog <http://www.rsyslog.com/doc/rsyslog_secure_tls.html>`_,
the CA certificate that can verify the machine keys and certs (see below)
- **defaultNetstreamDriverKeyFile**
Machine private key
- **defaultNetstreamDriverCertFile**
Machine public key (certificate)
- **debug.gnutls** (0-10; default:0)
Any other parameter than 0 enables the debug messages of GnuTLS. The
amount of messages given depends on the height of the parameter, 0
being nothing and 10 being very much. Caution! higher parameters may
give out way more information than needed. We advise you to first use
small parameters to prevent that from happening.
**This parameter only has an effect if general debugging is enabled.**
- **netstreamDriverCaExtraFiles**
This directive allows to configure multiple additional extra CA files.
This is intended for SSL certificate chains to work appropriately,
as the different CA files in the chain need to be specified.
It must be remarked that this parameter only works with the OpenSSL driver.
- **processInternalMessages** binary (on/off)
This tells rsyslog if it shall process internal messages itself. The
default mode of operations ("off") makes rsyslog send messages to the
system log sink (and if it is the only instance, receive them back from there).
This also works with systemd journal and will make rsyslog messages show up in the
systemd status control information.
If this (instance) of rsyslog is not the main instance and there is another
main logging system, rsyslog internal messages will be inserted into
the main instance's syslog stream. In this case, setting to ("on") will
let you receive the internal messages in the instance they originate from.
Note that earlier versions of rsyslog worked the opposite way. More
information about the change can be found in `rsyslog-error-reporting-improved <http://www.rsyslog.com/rsyslog-error-reporting-improved>`_.
- **stdlog.channelspec**
Permits to set the liblogging-stdlog channel specifier string. This
in turn permits to send rsyslog log messages to a destination different
from the system default. Note that this parameter has only effect if
*processInternalMessages* is set to "off". Otherwise it is silently
ignored.
- **shutdown.enable.ctlc**
If set to "on", rsyslogd can be terminated by pressing ctl-c. This is
most useful for containers. If set to "off" (the default), this is not
possible.
- **defaultNetstreamDriver**
Set it to "ossl" or "gtls" to enable TLS.
This `guide <http://www.rsyslog.com/doc/rsyslog_secure_tls.html>`_
shows how to use TLS.
- **maxMessageSize**
Configures the maximum message size allowed for all inputs. Default is 8K.
Anything above the maximum size will be truncated.
Note: some modules provide separate parameters that allow overriding this
setting (e.g., :doc:`imrelp's MaxDataSize parameter <../../configuration/modules/imrelp>`).
.. _global_janitorInterval:
- **janitor.interval** [minutes], available 8.3.3+
Sets the interval at which the
:doc:`janitor process <../concepts/janitor>`
runs.
- **debug.onShutdown** available 7.5.8+
If enabled ("on"), rsyslog will log debug messages when a system
shutdown is requested. This can be used to track issues that happen
only during shutdown. During normal operations, system performance is
NOT affected.
Note that for this option to be useful, the debug.logFile parameter
must also be set (or the respective environment variable).
- **debug.logFile** available 7.5.8+
This is used to specify the debug log file name. It is used for all
debug output. Please note that the RSYSLOG\_DEBUGLOG environment
variable always **overrides** the value of debug.logFile.
- **net.ipprotocol** available 8.6.0+
This permits to instruct rsyslog to use IPv4 or IPv6 only. Possible
values are "unspecified", in which case both protocols are used,
"ipv4-only", and "ipv6-only", which restrict usage to the specified
protocol. The default is "unspecified".
Note: this replaces the former *-4* and *-6* rsyslogd command line
options.
- **net.aclAddHostnameOnFail** available 8.6.0+
If "on", during ACL processing, hostnames are resolved to IP addresses for
performance reasons. If DNS fails during that process, the hostname
is added as wildcard text, which results in proper, but somewhat
slower operation once DNS is up again.
The default is "off".
- **net.aclResolveHostname** available 8.6.0+
If "off", do not resolve hostnames to IP addresses during ACL processing.
The default is "on".
- **net.enableDNS** [on/off] available 8.6.0+
**Default:** on
Can be used to turn DNS name resolution on or off.
- **net.permitACLWarning** [on/off] available 8.6.0+
**Default:** on
If "off", suppress warnings issued when messages are received
from non-authorized machines (those, that are in no AllowedSender list).
- **parser.parseHostnameAndTag** [on/off] available 8.6.0+
**Default:** on
This controls whether the parsers try to parse HOSTNAME and TAG fields
from messages. The default is "on", in which case parsing occurs. If
set to "off", the fields are not parsed. Note that this usually is
**not** what you want to have.
It is highly suggested to change this setting to "off" only if you
know exactly why you are doing this.
- **parser.permitSlashInProgramName** [on/off] available 8.25.0+
**Default:** off
This controls whether slashes in the "programname" property
(the static part of the tag) are permitted or not. By default
this is not permitted, but some Linux tools (including most
importantly the journal) store slashes as part of the program
name inside the syslogtag. In those cases, the ``programname``
is truncated at the first slash.
In other words, if the setting is off, a value of ``app/foo[1234]``
in the tag will result in a programname of ``app``, and if an
application stores an absolute path name like ``/app/foo[1234]``,
the ``programname`` property will be empty ("").
If set to ``on``, a syslogtag of ``/app/foo[1234]`` will result
in a ``programname`` value of ``/app/foo`` and a syslogtag of
``app/foo[1234]`` will result in a ``programname`` value of
``app/foo``.
- **parser.escapeControlCharacterTab** [on/off] available since 8.7.0
**Default:** on
If set to "off", the TAB control character (US-ASCII HT) will not be
escaped. If set to "on", it will be escaped to the sequence "#011".
Note that escaping is the traditional behavior and existing scripts
may get into trouble if this is changed to "off".
- **parser.controlCharacterEscapePrefix** [char]
**Default:** '#'
This option specifies the prefix character to be used for control
character escaping (see option
*parser.escapeControlCharactersOnReceive*).
- **parser.escape8BitCharactersOnReceive** [on/off]
**Default:** off
This parameter instructs rsyslogd to replace non US-ASCII characters
(those that have the 8th bit set) during reception of the message.
This may be useful for some systems. Please note that this escaping
breaks Unicode and many other encodings. Most importantly, it can be
assumed that Asian and European characters will be rendered hardly
readable by this settings. However, it may still be useful when the
logs themselves are primarily in English and only occasionally contain
local script. If this option is turned on, all control-characters are
converted to a 3-digit octal number and be prefixed with the
*parser.controlCharacterEscapePrefix* character (being '#' by default).
**Warning:**
- turning on this option most probably destroys non-western character
sets (like Japanese, Chinese and Korean) as well as European
character sets.
- turning on this option destroys digital signatures if such exists
inside the message
- if turned on, the drop-cc, space-cc and escape-cc `property
replacer <property_replacer.html>`_ options do not work as expected
because control characters are already removed upon message
reception. If you intend to use these property replacer options, you
must turn off *parser.escape8BitCharactersOnReceive*.
- **parser.escapeControlCharactersOnReceive** [on/off]
**Default:** on
This parameter instructs rsyslogd to replace control characters during
reception of the message. The intent is to provide a way to stop
non-printable messages from entering the syslog system as whole. If this
option is turned on, all control-characters are converted to a 3-digit
octal number and be prefixed with the *parser.controlCharacterEscapePrefix*
character (being '#' by default). For example, if the BEL character
(ctrl-g) is included in the message, it would be converted to '#007'.
To be compatible to sysklogd, this option must be turned on.
**Warning:**
- turning on this option most probably destroys non-western character
sets (like Japanese, Chinese and Korean)
- turning on this option destroys digital signatures if such exists
inside the message
- if turned on, the drop-cc, space-cc and escape-cc `property
replacer <property_replacer.html>`_ options do not work as expected
because control characters are already removed upon message
reception. If you intend to use these property replacer options, you
must turn off *parser.escapeControlCharactersOnReceive*.
- **senders.keepTrack** [on/off] available 8.17.0+
**Default:** off
If turned on, rsyslog keeps track of known senders and also reports
statistical data for them via the impstats mechanism.
A list of active senders is kept. When a new sender is detected, an
informational message is emitted. Senders are purged from the list
only after a timeout (see *senders.timoutAfter* parameter). Note
that we do not intentionally remove a sender when a connection is
closed. The whole point of this sender-tracking is to have the ability
to provide longer-duration data. As such, we would not like to drop
information just because the sender has disconnected for a short period
of time (e.g. for a reboot).
Senders are tracked by their hostname (taken at connection establishment).
Note: currently only imptcp and imtcp support sender tracking.
- **senders.timeoutAfter** [seconds] available 8.17.0+
**Default:** 12 hours (12*60*60 seconds)
Specifies after which period a sender is considered to "have gone
away". For each sender, rsyslog keeps track of the time it least
received messages from it. When it has not received a message during
that interval, rsyslog considers the sender to be no longer present.
It will then a) emit a warning message (if configured) and b) purge
it from the active senders list. As such, the sender will no longer
be reported in impstats data once it has timed out.
- **senders.reportGoneAway** [on/off] available 8.17.0+
**Default:** off
Emit a warning message when now data has been received from a sender
within the *senders.timeoutAfter* interval.
- **senders.reportNew** [on/off] available 8.17.0+
**Default:** off
If sender tracking is active, report a sender that is not yet inside
the cache. Note that this means that senders which have been timed out
due to prolonged inactivity are also reported once they connect again.
- **debug.unloadModules** [on/off] available 8.17.0+
**Default:** on
This is primarily a debug setting. If set to "off", rsyslog will never
unload any modules (including plugins). This usually causes no operational
problems, but may in extreme cases. The core benefit of this setting is
that it makes valgrind stack traces readable. In previous versions, the
same functionality was only available via a special build option.
- **debug.files** [ARRAY of filenames] available 8.29.0+
**Default:** none
This can be used to configure rsyslog to only show debug-output generated in
certain files. If the option is set, but no filename is given, the
debug-output will behave as if the option is turned off.
Do note however that due to the way the configuration works, this might not
effect the first few debug-outputs, while rsyslog is reading in the configuration.
For optimal results we recommend to put this parameter at the very start of
your configuration to minimize unwanted output.
See debug.whitelist for more information.
- **debug.whitelist** [on/off] available 8.29.0+
**Default:** on
This parameter is an assisting parameter of debug.files. If debug.files
is used in the configuration, debug.whitelist is a switch for the files named
to be either white- or blacklisted from displaying debug-output. If it is set to
on, the listed files will generate debug-output, but no other files will.
The reverse principle applies if the parameter is set to off.
See debug.files for more information.
- **environment** [ARRAY of environment variable=value strings] available 8.23.0+
**Default:** none
This permits to set environment variables via rsyslog.conf. The prime
motivation for having this is that for many libraries, defaults can be
set via environment variables, **but** setting them via operating system
service startup files is cumbersome and different on different platforms.
So the *environment* parameter provides a handy way to set those
variables.
A common example is to set the *http_proxy* variable, e.g. for use with
KSI signing or ElasticSearch. This can be done as follows::
global(environment="http_proxy=http://myproxy.example.net")
Note that an environment variable set this way must contain an equal sign,
and the variable name must not be longer than 127 characters.
It is possible to set multiple environment variables in a single
global statement. This is done in regular array syntax as follows::
global(environment=["http_proxy=http://myproxy.example.net",
"another_one=this string is=ok!"]
)
As usual, whitespace is irrelevant in regard to parameter placing. So
the above sample could also have been written on a single line.
- **internalmsg.ratelimit.interval** [positive integer] available 8.29.0+
**Default:** 5
Specifies the interval in seconds onto which rate-limiting is to be
applied to internal messages generated by rsyslog(i.e. error messages).
If more than internalmsg.ratelimit.burst messages are read during
that interval, further messages up to the end of the interval are
discarded.
- **internalmsg.ratelimit.burst** [positive integer] available 8.29.0+
**Default:** 500
Specifies the maximum number of internal messages that can be emitted within
the ratelimit.interval interval. For further information, see
description there.
**Caution:** Environment variables are set immediately when the
corresponding statement is encountered. Likewise, modules are loaded when
the module load statement is encountered. This may create **sequence
dependencies** inside rsyslog.conf. To avoid this, it is highly suggested
that environment variables are set **right at the top of rsyslog.conf**.
Also, rsyslog-related environment variables may not apply even when set
right at the top. It is safest to still set them in operating system
start files. Note that rsyslog environment variables are usually intended
only for developers so there should hardly be a need to set them for a
regular user. Also, many settings (e.g. debug) are also available as
configuration objects.
- **internalmsg.severity** [syslog severity value] available 8.1905.0+
**Default:** info
This permits to limit which internal messages are emitted by rsyslog. This
is especially useful if internal messages are reported to systemd journal,
which is the default on journal systems. In that case there is no other
ability to filter out messages before they are logged by the journal.
While any syslog severity value can be used, the most useful ones are
* `error`, to see only error messages but ignore anything else
* `warn`, to also see warning messages (highly recommended)
* `info`, to also see informational messages like events generated
by DA queues status checks. This is the default as the informational
messages often provide valuable information.
* `debug`, to see all messages, including only those interesting for
debugging. While this is still considerably lower volume than a
rsyslog developer debug log, this can be quite verbose. Selecting
`debug` without hard need thus is **not** recommended.
We expect that users are most often interested in limiting verboseness
to warning messages. This can be done e.g. via::
global(internalmsg.severity="warn")
- **errorMessagesToStderr.maxNumber** [positive integer] available 8.30.0+
**Default:** unlimited
This permits to put a hard limit on the number of messages that can
go to stderr. If for nothing else, this capability is helpful for the
testbench. It permits to reduce spamming the test log while still
providing the ability to see initial error messages. Might also be
useful for some practical deployments.
- **variables.caseSensitive** [boolean (on/off)] available 8.30.0+
**Default:** off
This permits to make variables case-sensitive, what might be required
for some exotic input data where case is the only difference in
field names. Note that in rsyslog versions prior to 8.30, the default was
"on", which very often led to user confusion. There normally should be no
need to switch it back to "on", except for the case to be mentioned.
This is also the reason why we switched the default.
- **internal.developeronly.options**
This is NOT to be used by end users. It provides rsyslog developers the
ability to do some (possibly strange) things inside rsyslog, e.g. for
testing. This parameter should never be set, except if instructed by
a developer. If it is set, rsyslog may misbehave, segfault, or cause
other strange things. Note that option values are not guaranteed to
stay the same between releases, so do not be "smart" and apply settings
that you found via a web search.
Once again: **users must NOT set this parameter!**
- **oversizemsg.errorfile** [file name] available 8.35.0+
This parameter is used to specify the name of the oversize message log file.
Here messages that are longer than maxMessageSize will be gathered.
- **oversizemsg.input.mode** [mode] available 8.35.0+
With this parameter the behavior for oversized messages can be specified.
Available modes are:
- truncate: Oversized messages will be truncated.
- split: Oversized messages will be split and the rest of the message will
be sent in another message.
- accept: Oversized messages will still be accepted.
- **oversizemsg.report** [boolean (on/off)] available 8.35.0+
This parameter specifies if an error shall be reported when an oversized
message is seen. The default is "on".
- **abortOnUncleanConfig** [boolean (on/off)] available 8.37.0+
This parameter permits to prevent rsyslog from running when the
configuration file is not clean. "Not Clean" means there are errors or
some other annoyances that rsyslogd reports on startup. This is a
user-requested feature to have a strict startup mode. Note that with the
current code base it is not always possible to differentiate between an
real error and a warning-like condition. As such, the startup will also
prevented if warnings are present. I consider this a good thing in being
"strict", but I admit there also currently is no other way of doing it.
- **abortOnFailedQueueStartup** [boolean (on/off)] available 8.2210.0+
This parameter is similiar to *abortOnUncleanConfig* but makes rsyslog
abort when there are any problems with queue startup. This is usually
caused by disk queue settings or disk queue file corruption. Normally,
rsyslog ignores disk queue definitions in this case and switches the
queue to emergency mode, which permits in-memory operations. This is
desired by the fast majority of users, because it permits rsyslog to
remain operational and process all remaining actions as well as handle
actions associated with the failed queue decently.
When this setting is "on", rsyslog aborts immediately when a queue
problem is detected during startup. If you use this mode, ensure that
your startup scripts monitor for these type of errors and handle them
appropriately.
In our opinion, it is much safer to let rsyslog start and monitor queue
error messages.
The **default** for this setting is "off"
- **inputs.timeout.shutdown** [numeric, ms] available 8.37.0+
This parameter specifies how long input modules are given time to terminate
when rsyslog is shutdown. The default is 1000ms (1 second). If the input
requires longer to terminate, it will be cancelled. This is necessary if
the input is inside a lengthy operation, but should generally be tried to
avoid. On busy systems it may make sense to increase that timeout. This
especially seems to be the case with containers.
- **default.action.queue.timeoutshutdown** [numeric] available 8.1901.0+
- **default.action.queue.timeoutactioncompletion** [numeric] available 8.1901.0+
- **default.action.queue.timeoutenqueue** [numeric] available 8.1901.0+
- **default.action.queue.timeoutworkerthreadshutdown** [numeric] available 8.1901.0+
These parameters set global queue defaults for the respective queue settings.
- **reverselookup.cache.ttl.default** [numeric, seconds] available 8.1904.0+
Rsyslog includes a cache for ip-address-to-hostname lookups. This is most
useful for inputs without a connection. imudp is the prime example.
This settings permits to specify after which period (in seconds) an
entry expires. Upon expiration the entry will be discarded and re-queried.
The **default** value is 24 hours.
To never cache entries, set the parameter to 0, which will make cache
entries expire immediately. Note that especially with imudp this can
cause huge performance degradation and potentially also message loss.
Note: for many years rsyslog did **not** timeout cache entries at all. This
only occasionally caused issues. We assume that the once-every-24-hrs
default value is a very good compromise between performance and
keeping reverse lookup information current.
- **reverselookup.cache.ttl.enable** [boolean (on/off)] available 8.1904.0+
This configures whether rsyslog expires DNS cache entries (setting "on") or
not (setting "off", the default). If configured to "off",
*reverselookup.cache.default.ttl* is not in effect. Note that this is the
**default**.
- **security.abortOnIDResoultionFail** [boolean (on/off)], default "on", available 8.2002.0+
This setting controls if rsyslog should error-terminate when an security ID cannot
be resolved during config file processing at startup. If set to "on" and
a name ID lookup fails (for user and group names) rsyslog does not start but
terminate with an error message. This is necessary as a security
measure, as otherwise the wrong permissions can be assigned or privileges
are not dropped. This setting is applied whereever security IDs are resolved,
e.g. when dropping privileges or assigning file permissions or owners.
The setting should be at the top of the configuration parameters to make sure its
behavior is correctly applied on all other configuration parameters.
**CHANGE OF BEHAVIOR**
The default for this parameter is "on". In versions prior to 8.2002.0, the default
was "off" (by virtue of this parameter not existing). As such, existing
configurations may now error out.
We have decided to accept this change of behavior because of the potential
security implications.
- **operatingStateFile** [string, filename], default unset, available 8.39.0+
The operatingStateFile, as the name says, provides information about rsyslog
operating state. It can be useful for troubleshooting.
If this parameter is not set, an operating state file will not be written. If
it is set, the file will be written **and** used to detect unclean shutdown.
Upon startup, rsyslog checks if the last recorded line contains the "clean
shutdown notification". If so, the file is deleted and re-written with new
operating state. If the notification cannot be found, rsyslog assumes unclean
shutdown and complains about this state. In this case the operating state file
is renamed to "<configured-name>.previous" and a new file is started under the
configured name for the current run. This permits the administrator to check the
previous operating state file for helpful information on why the system shut
down unclean.
- **reportChildProcessExits** [none|errors|all], default "errors", available
8.1901.0+
Tells rsyslog whether and when to log a message (under *syslog.\**) when a
child process terminates. The available modes are:
- none: Do not report any child process termination.
- errors: Only report the termination of child processes that have exited with
a non-zero exit code, or that have been terminated by a signal.
- all: Report all child process terminations.
The logged message will be one of the following:
- "program 'x' (pid n) exited with status s" (with "info" severity if the
status is zero, and "warning" severity otherwise)
- "program 'x' (pid n) terminated by signal s" (with "warning" severity)
In some cases, the program name is not included in the message (but only the PID).
Normally, if a child process terminates prematurely for some reason, rsyslog will
also report some specific error message the next time it interacts with the process
(for example, in the case of a process started by omprog, if omprog cannot send a
message to the process because the pipe is broken, it will report an error
indicating this). This specific error message (if any) is not affected by this
global setting.
- **default.ruleset.queue.timeoutshutdown**
- **default.ruleset.queue.timeoutactioncompletion**
- **default.ruleset.queue.timeoutenqueue**
- **default.ruleset.queue.timeoutworkerthreadshutdown**
Sets default parameters for ruleset queues. See queue doc for the meaning of
the individual settings.
- **default.action.queue.timeoutshutdown**
- **default.action.queue.timeoutactioncompletion**
- **default.action.queue.timeoutenqueue**
- **default.action.queue.timeoutworkerthreadshutdown**
Sets default parameters for action queues. See queue doc for the meaning of
the individual settings.
- **shutdown.queue.doublesize**
This setting (default "off") permits to temporarily increase the maximum queue
size during shutdown processing. This is useful when rsyslog needs to re-enqueue
some messages at shutdown *and* the queue is already full. Note that the need to
re-enqueue messages stems back to some failed operations. Note that the maximum
permitted queue size is doubled, as this ensures in all cases that re-enqueuing
can be completed. Note also that the increase of the max size is temporary during
shutdown and also does not requiere any more storage. Except, of course, for
re-enqueued message.
The situation addressed by this setting is unlikley to happen, but it could happen.
To enable the funtionality, set it to "on".
- **parser.supportCompressionExtension** [boolean (on/off)] available 8.2106.0+
This parameter permits to disable rsyslog's single-message-compression extension on
reception ("off"). The default is to keep it activated ("on").
The single-message-compression extension permits senders to zip-compress single
syslog messages. Such messages start with the letter "z" instead of the usual
syslog PRI value. For well-formed syslog messages, the extension works as designed.
However, some users transport non-syslog data via rsyslog, and such messages may
validly start with "z" for non-compressed data. To support such non-standard
cases, this option can be used to globally disable support for compression on
all inputs.
privdrop.group.name
^^^^^^^^^^^^^^^^^^^
.. csv-table::
:header: "type", "default", "mandatory", "|FmtObsoleteName| directive"
:widths: auto
:class: parameter-table
"integer", "", "no", "``$PrivDropToGroup``"
.. versionadded:: 8.2110.0
Name of the group rsyslog should run under after startup. Please
note that this group is looked up in the system tables. If the lookup
fails, privileges are NOT dropped. Thus it is advisable to use the
less convenient `privdrop.group.id` parameter. Note that all
supplementary groups are removed by default from the process if the
`privdrop.group.keepsupplemental` parameter is not specified.
If the group id can be looked up, but can not be set,
rsyslog aborts.
Note: See the :doc:`privilege drop documentation<../configuration/droppriv>`
for more details on dropping privileges on startup.
privdrop.group.id
^^^^^^^^^^^^^^^^^
.. csv-table::
:header: "type", "default", "mandatory", "|FmtObsoleteName| directive"
:widths: auto
:class: parameter-table
"integer", "", "no", "``$PrivDropToGroupID``"
.. versionadded:: 8.2110.0
Numerical user ID of the group rsyslog should run under after startup.
This is more reliable than the `privdrop.group.name` parameter, which
relies on presence of the group name in system tables. The change to
the ID will always happen if the ID is valid.
Note: See the :doc:`privilege drop documentation<../configuration/droppriv>`
for more details on dropping privileges on startup.
privdrop.user.name
^^^^^^^^^^^^^^^^^^
.. csv-table::
:header: "type", "default", "mandatory", "|FmtObsoleteName| directive"
:widths: auto
:class: parameter-table
"integer", "", "no", "``$PrivDropToUser``"
.. versionadded:: 8.2110.0
Name of the user rsyslog should run under after startup. Please note
that this user is looked up in the system tables. If the lookup
fails, privileges are NOT dropped. Thus it is advisable to use the
less convenient `privdrop.user.id` parameter. If the user id can be
looked up, but can not be set, rsyslog aborts.
Note: See the :doc:`privilege drop documentation<../configuration/droppriv>`
for more details on dropping privileges on startup.
privdrop.user.id
^^^^^^^^^^^^^^^^
.. csv-table::
:header: "type", "default", "mandatory", "|FmtObsoleteName| directive"
:widths: auto
:class: parameter-table
"integer", "", "no", "``$PrivDropToUserID``"
.. versionadded:: 8.2110.0
Numerical user ID of the user rsyslog should run under after startup.
This is more reliable than the `privdrop.user.name` parameter, which
relies on presence of the user name in system tables. The change to
the ID will always happen if the ID is valid.
Note: See the :doc:`privilege drop documentation<../configuration/droppriv>`
for more details on dropping privileges on startup.
|