23.7. Rsyslog 和日志的交互
如前文所述,系统上存在的两个日志记录应用程序 Rsyslog 和 Journal 具有几个独特的功能,使它们适合特定的用例。在很多情况下,组合其功能很有用,例如要创建结构化的信息并将其存储在文件数据库中(请参阅 第 23.8 节 “使用 Rsyslog 的结构化日志记录”)。Rsyslog 方的输入和输出模块以及 日志的通信套接字提供了开展协作所需的通信接口。
					默认情况下,rsyslogd 使用 imjournal 模块作为日志文件的默认输入模式。使用此模块时,您不仅导入消息,还会导入 journald 提供的结构化数据。另外,可以从 journald 导入较旧的数据(除非使用 IgnorePreviousMessages 选项禁止)。有关 imjournal 的基本配置,请参阅 第 23.8.1 节 “从日志导入数据”。
				
					另外,也可将 rsyslogd 配置为从 日志 提供的套接字读取,作为基于 syslog 的应用的输出。到套接字的路径为 /run/systemd/journal/syslog。当您要维护纯 rsyslog 消息时,请使用这个选项。与伪装套接字输入相比 , 目前提供更多功能,如规则集绑定或过滤。要通过套接字导入 Journal 数据,请在 /etc/rsyslog.conf 中使用以下配置:
				
module(load="imuxsock"
    SysSock.Use="on"
    SysSock.Name="/run/systemd/journal/syslog")
module(load="imuxsock"
    SysSock.Use="on"
    SysSock.Name="/run/systemd/journal/syslog")
					您还可以使用 the omjournal 模块输出来自 Rsyslog 到 Journal 的消息。在 /etc/rsyslog.conf 中配置输出,如下所示:
				
module(load="omjournal") action(type="omjournal")
module(load="omjournal")
action(type="omjournal")例如,以下配置将 tcp 端口 10514 上的所有接收的信息转发到日志: