如何收集 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 等或任何旧版软件