使用RainerScript如何全局配置rsyslog?

ser*_*ine 3 rsyslog

现在我的rsyslog.conf文件中有这个。

/* GLOBAL DIRECTIVES */

# Global umask for all actions
$umask 0022

# Set the default permissions for all log files.
module(load="buildin:omfile"
        # To enable high precision timestamps, use the following line:
        # template="RSYSLOG_FileFormat"
        template="RSYSLOG_TraditionalFileFormat"
        # Set the default permissions for all log files.
        dirCreateMode="0700"
        dirOwner="syslog"
        dirGroup="adm"
        fileCreateMode="0640"
        fileOwner="syslog"
        fileGroup="adm"
)

$PrivDropToUser syslog
$PrivDropToGroup syslog

global(workDirectory="/var/spool/rsyslog")

/* INCLUDED FILES */

# Include all config files in /etc/rsyslog.d/
$IncludeConfig /etc/rsyslog.d/*.conf
Run Code Online (Sandbox Code Playgroud)

这似乎是rsyslog根据v8-stable 文档配置的“最新”稳定方式

但这仍然使用旧类型的指令,例如$IncludeConfig不应该是这样吗global(includeConfig="/etc/rsyslog.d/*")

所以总的来说我的配置不应该是这样的吗?

global(unmask=0022
       privDropToUser="syslog"
       privDropToGroup="syslog"
       workDirectory="/var/spool/rsyslog"
       includeConfig="/etc/rsyslog.d/*")

# Set the default permissions for all log files.
module(load="buildin:omfile"
        # To enable high precision timestamps, use the following line:
        # template="RSYSLOG_FileFormat"
        template="RSYSLOG_TraditionalFileFormat"
        # Set the default permissions for all log files.
        dirCreateMode="0700"
        dirOwner="syslog"
        dirGroup="adm"
        fileCreateMode="0640"
        fileOwner="syslog"
        fileGroup="adm"
)
Run Code Online (Sandbox Code Playgroud)

任何专门针对 RainerScript 的额外阅读材料将不胜感激。到目前为止,找到了这个资源(除了文档):

Rai*_*rds 5

首先,没有必要转换所有旧风格 - 其中一些仍然是做简单事情的最佳方式。查看rsyslog 配置格式以了解该部分。

我们引入新格式的核心思想是使复杂性易于管理。过时的遗留格式使得正确配置变得极其困难,即使对于我作为 rsyslog 作者来说也是如此。

也就是说,$IncludeConfig直到最近才受到关注,只是因为提供新的样式替代方案没有真正的好处(而且我们的待办事项列表上有很多东西......)。从 8.33.0 开始,包含可以通过include() 对象完成- 它不是全局设置,因此它有自己的对象。

PrivDropTo...出于同样的原因,尚未添加 的新型替代方案:提供它几乎没有什么好处(只是装饰性的,因为它没有相关的复杂性)并且还没有时间这样做。我们仍在努力在时间允许的情况下为这些类型的遗留语句提供替代方案:因此它可能会在未来某个时候出现。不过话又说回来,继续使用也没什么不好。

作为开发人员来说,所有配置语句都对一组通用的配置对象进行操作。Rsyslog 实际上并不关心对象是如何创建的。

rsyslog 项目的核心策略是在没有非常迫切的需求的情况下永远不会破坏现有配置:因此您可以确定多年前有效的方法仍然有效。然而,为新配置使用过时的遗留格式会带来问题,因为我们知道这样做非常困难且容易出错。这是引入新风格的唯一原因;-)