使用syslog-ng和systemd进行日志记录

时间:2018-04-09 21:01:37

标签: linux unix syslog-ng

我花了很多时间来解决这个问题,但没有成功。我是Linux应用程序管理和日志记录的新手。

问题:

使用systemd启动syslog-ng时无法将数据记录到/ var / log / messages。但是当从shell启动syslog-ng时,它会很好地记录到/ var / log / messages。我正在使用logger实用程序来测试它。

经过一些研究,我想我可能已经找到了问题,但不知道如何修复它。

当systemd启动进程时,syslog-ng从/ run / systemd / journal / syslog socket而不是/ dev / log /读取,而logger实用程序将消息写入/ dev / log。我在syslog-ng.conf文件中更改了以下条目。

source src {
    system();
    internal();
};

source src {
    unix-dgram("/dev/log");
    internal();
};

另外,我在journald.conf中设置了以下行并重新启动它。

ForwardToSyslog=yes   

这是使用systemd

启动的进程的lsof输出
syslog-ng 23425 root    3u     unix 0xffff881fce1f1e00      0t0  9281890 /run/systemd/journal/syslog

并在shell上手动启动进程

syslog-ng 19482 root    6u     unix 0xffff881fcdd5c380      0t0 10168394 /dev/log

0 个答案:

没有答案