12Factor App:使用Fluentd捕获stdout/stderr日志

res*_*a87 11 logging 12factor fluentd

通过阅读12factor中的以下帖子,我想出了一个问题,我想检查一下你们如何处理这个问题.

基本上,应用程序应直接写入stdout/stderr.反正将这些流直接重定向到流畅(不绑定到rsyslog/syslog)?随着我越来越清楚流利,我相信它将成为来自多个应用/平台的日志聚合的绝佳工具.

这样做的主要原因是,如果应用程序是跨平台的,则rsyslog/syslog可能不可用,并且据我所知,使用日志框架(需要使用它们所需的配置)将违反12factor.

谢谢!

Mar*_*Roy 4

您需要配置流程管理器才能使用 fluidd。

\n\n
\n

“十二要素应用程序进程应该[...]依赖操作系统\xe2\x80\x99s进程管理器(例如Upstart,云平台上的分布式进程管理器,或正在开发的Foreman等工具)来管理输出流[...]。”

\n
\n\n

基本上,这个想法是日志重定向是流程管理器关心的问题。例如, Upstart通常依赖logger,它有一个选项 ( -u) 来写入Unix Domain Socket。反过来,您可以配置 Fluentd 使用相同的套接字作为输入流

\n\n

Fluentd 支持很多输入流(他们称之为数据源),这应该为您可能使用的任何环境和流程管理器提供解决方案(我们需要知道这些,以便提供更完整的解决方案)。

\n