我在 CentOS 7 的 systemd 下运行一个应用程序。它记录到 stdout,systemd 很好地将它捕获到 journalctl 中。我还想:
- 获取一个旋转的文本日志文件也保存到本地文件系统,以便我们的系统管理员熟悉
- 将这些数据干净地放入logstash,理想情况下只是应用程序日志,而不是所有还包括操作系统消息、其他应用程序等的系统日志
我最初使用 djb 的 daemontools 中的 multilog 进行研究,但鉴于 systemd 单元文件不喜欢 shell 管道ExecStart
,而且 CentOS 中没有用于 daemontools 的官方 RPM,我希望有一种不那么繁琐的方法。
我目前有 logstash-forwarder 从中读取 syslog /var/log/messages
,/var/log/secure
但我宁愿不包含来自此特定应用程序以外的消息。