【问题标题】:Shipping stdout and stderr to Logstash将 stdout 和 stderr 发送到 Logstash
【发布时间】:2016-09-09 08:18:28
【问题描述】:

我们有一堆服务,通过 docker 容器部署在 Mesos 上,记录到 stdout 和 stderr。我们现在正在引入 ELK,因此需要将此日志数据发送到 Logstash。

我正在考虑的一个解决方案是有一个包装进程来启动服务进程,捕获 stdout 和 stderr 并将其写入文件(随着时间的推移而被截断)并让 FileBeat 将该文件发送到 LogStash。感觉我可能是在重新发明一个轮子的想法,有没有更直接的方法来实现同样的事情?

【问题讨论】:

  • 不能用重定向(>)直接写入文件吗?
  • 可以......但我也希望日志输出继续在标准输出和标准错误上输出,因为 Mesos 捕捉到了这一点。另外,如果我这样做会截断文件吗?此外,我们正在使用结构化日志记录,因此如果子进程在重新启动之前死亡,包装进程可以使用我们的结构进行日志记录。
  • 可能使用 logrotate 截断文件,使用 tee 命令发送到文件和 stderr/out。但我理解你为什么要在这种情况下使用包装器

标签: elasticsearch logstash kibana filebeat


【解决方案1】:

我写的这个非常适合我的用例:https://github.com/myles-mcdonnell/procwrap

【讨论】:

  • 感谢分享
猜你喜欢
  • 2019-03-29
  • 2019-01-21
  • 2014-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多