我正在CentOS 7下运行systemd下的应用程序。它logging到stdout,systemd正在将它捕获到journalctl中。 我也想:
我最初使用djb的daemontools中的multilog进行了研究,但是由于systemd中的单元文件并不喜欢ExecStart shellpipe道, ExecStart对于CentOS中的daemontools没有官方的RPM,所以我希望有一个不太复杂的方法。
我目前有从/var/log/messages和/var/log/secure logstash-forwarder读取系统日志,但我宁愿不包括从这个特定的应用程序以外的消息。
logstash的第三方input插件可直接读取systemd日志 。 直接向logstash添加支持仍然是一个悬而未决的问题 。
Logstash现在包含一个systemd日志input插件 。
这只是你的基本解决scheme,像这样的journalctl -f -o json | tee -a /var/log/systemd journalctl -f -o json | tee -a /var/log/systemd
您需要为该文件进行日志轮转才能处理大小,否则会很快填满
绝对考虑到你不需要部署像logstash或fluentd这样的东西