Systemd是一个初始化系统,用于在系统启动时启动服务。Journald负责为systemd启动的服务制作日志。通过将日志记录与systemd集成,即使最早的引导过程消息也可用于日志记录。
Rsyslog是专门用于日志处理的守护程序,与日志记录无关。它可以通过多种方式获取日志并以多种方式输出日志。默认情况下未启用它也从日志记录中获取日志消息。为此,您必须写入/etc/rsyslog.conf文件,
$ModLoad imjournal # im -> input module
OR
load(type="imjournal")
现在,它将接受来自日志的日志。但是我建议您不要更改/etc/rsyslog.conf文件。
在/etc/rsyslog.conf文件的末尾,有一行写着,
$IncludeConfig /etc/rsyslog.d/*.conf
这意味着在rsyslog加载期间,应包括/etc/rsyslog.d/文件夹中结尾处带有.conf的所有文件。因此,所有自定义配置都应放在这些文件中
我建议您制作一个文件/etc/rsyslog.d/journald.conf并在其中粘贴以下代码段。
以下是imjournal的rsyslog官方页面中的摘录
module(load="imjournal" PersistStateInterval="100"
StateFile="/path/to/file") #load imjournal module
module(load="mmjsonparse") #load mmjsonparse module for structured logs
template(name="CEETemplate" type="string" string="%TIMESTAMP% %HOSTNAME% %syslogtag% @cee: %$!all-json%\n" ) #template for messages
action(type="mmjsonparse")
action(type="omfile" file="/var/log/ceelog" template="CEETemplate")
第1行-加载imjournal模块以接受来自日志的日志
2-加载mmjsonparse模块,用于解析日志
3-它们以模板中描述的格式组织
4-它使用mmjsonparse模块解析这些日志。
5-使用omfile(输出模块文件-输出到文件)模块,根据给定模板中提供的结构,将那些日志发送到文件/ var / log / ceelog。
根据需要在配置中进行更改。
logger -p .info hello
无效。您尚未提供任何设施名称。