转发 systemd 日志消息/收集 systemd 日志消息

转发 systemd 日志消息/收集 systemd 日志消息

如何收集 systemd 日志事件(拉取)或转发 systemd 日志事件(推送)?

我想要转发事件日志之类的东西(http://windows.tips.net/T012878_What_is_the_Purpose_of_the_Forwarded_Events_Event_Log.html) 但在 Linux 下。

我正在使用 ArchLinux,但不确定这是否重要。

我应该将日志转发到 syslog 然后收集 syslog 吗?这样做会丢失任何信息吗?我可以不使用 syslog 守护进程来收集日志消息吗?

答案1

将消息转发至 syslog 等传统软件只会带来额外开销。

相反,您可以使用本机 journald 功能实现这两种模型。

推模型:

(日志源)systemd-journal-upload -> systemd-journal-remote(日志收集器)

拉模型:

(日志源)systemd-journal-gatewayd <- systemd-journal-remote(日志收集器)

箭头表示谁发起连接。HTTPS 用作传输方式,因此是安全的。

更多信息可从以下网站获取:

http://www.freedesktop.org/software/systemd/man/systemd-journal-remote.html

http://www.freedesktop.org/software/systemd/man/systemd-journal-upload.html

等等。

答案2

syslog或都是rsyslog好主意,两者都可以处理本地和远程日志记录。通常使用 UDP 完成,因此消息可能会丢失。rsyslog但可以配置为使用 TCP 甚至 TLS。

您可以进行混合部署,例如以 syslog 作为发送方,以 rsyslog 作为接收方。

使用 syslog 你可以写入类似以下内容:

*.*;*.!notice   @192.168.100.220

发件人/etc/syslog.conf

$ModLoad imudp.so
$UDPServerRun 514

登录/etc/rsyslog.conf接收器并让接收器收集所有消息。

答案3

如何部署 logstash 或 fluentd 来收集日志,然后你可以稍后将它们转发到 syslog、splung、appDynamics 等或任何旧版软件

相关内容