使用 RainerScript 如何全局配置 rsyslog?

使用 RainerScript 如何全局配置 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

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"
)

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

答案1

首先,很难转换所有旧样式 - 有些仍然是做简单事情的最佳方式。看看rsyslog 配置格式理解这一部分。

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

话虽如此,但$IncludeConfig直到最近才引起人们的注意,因为提供一种新的风格选择并没有真正的好处(而且我们在 TODO 列表中还有很多事情要做……)。从 8.33.0 开始,可以通过包含()对象- 它不是一个全局设置,因此它有自己的对象。

出于同样的原因,尚未添加新式替代方案PrivDropTo...:提供它的好处很少(只是表面的,因为它没有相关的复杂性)并且还没有时间去做。我们仍在努力在时间允许的情况下为这些类型的遗留语句提供替代方案:因此它可能会在将来的某个时候出现。但同样,继续使用它没有什么坏处。

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

rsyslog 项目的核心政策是绝不破坏现有配置,除非迫不得已:这样您就可以确保多年前有效的配置仍然有效。然而,使用过时的旧格式进行新配置会带来问题,因为我们知道这样做非常困难且容易出错。这是引入新样式的唯一原因 ;-)

相关内容