12Factor 应用程序:使用 Fluentd 捕获 stdout/stderr 日志

2024-01-08

通过阅读以下帖子12factor http://12factor.net/logs我提出了一个问题,想看看你们如何处理这个问题。

基本上,应用程序应该直接写入 stdout/stderr。有没有办法重定向这些流直接到 fludd(不绑定到 rsyslog/syslog)?随着我对 fluidd 的了解越来越多,我相信它将成为一个来自多个应用程序/平台的日志聚合的好工具。

这样做的主要原因是,如果应用程序是跨平台的,rsyslog/syslog 可能不可用,并且据我了解,使用日志记录框架(需要所需的配置才能工作)将违反 12factor。

Thanks!


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

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

基本上,这个想法是日志重定向是流程管理器关心的问题。Upstart http://upstart.ubuntu.com/,例如,通常依赖于logger http://manpages.ubuntu.com/manpages/lucid/man1/logger.1.html,其中有一个选项(-u) 写入Unix 域套接字 https://en.wikipedia.org/wiki/Unix_domain_socket。反过来,你可以配置 Fluentd 使用相同的套接字作为输入流 http://docs.fluentd.org/articles/in_unix.

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

12Factor 应用程序:使用 Fluentd 捕获 stdout/stderr 日志 的相关文章

  • 如何设置 commons-logging 来使用 logback?

    我们使用 slf4j logback 并且碰巧有一些使用 commons logging 的第三方库 如何设置它以使用 logback 答案是不要使用 commons logging jar 因为 SLF4J 的设计目的与 commons
  • 扭曲的日志记录到屏幕(标准输出)不起作用

    我有这个小程序取自这里 https twistedmatrix com documents 16 3 0 core howto logger html usage for emitting applications from twisted
  • cf.net 异常和其他日志记录

    我想向在 WM6 Pro 上运行的 cf net 应用程序添加一些日志记录功能 我正在研究记录异常和一些更敏感的代码部分 我希望将日志存储在本地 即在设备上 并将它们可靠地上传到服务器 它们需要排队 我的应用程序偶尔会连接 有谁知道 log
  • AWS CloudWatchLog 限制

    我正在尝试找到集中式解决方案来将我的应用程序日志记录从数据库 RDS 中移出 我本想使用 CloudWatchLog 但注意到 PutLogEvents 请求有限制 PutLogEvents 请求的最大速率为每秒 5 个请求 每个日志流 即
  • Flask 的“app.logger”的 Pylint 误报:E1101:方法“logger”没有“debug”成员(无成员)

    使用烧瓶的app logger成员函数 例如app logger error 原因pylint报告E1101 no member 错误 即使这些成员app logger是在运行时定义的 这可以通过使用以下文件来重现 app py impor
  • HBase Shell 日志记录

    使用 HBase shell 时 我收到大量日志记录 包括 INFO 和 DEBUG 消息 虽然这对于学习 HBase 内部结构来说很有趣 但它非常冗长并且可能会掩盖输出 我尝试过以多种不同的方式更改日志记录级别 包括所描述的here ht
  • 如何在不到处添加调试行的情况下记录 Node.js 中的每个方法调用?

    我想记录发出请求的人的 user id 以及为 javascript 类调用的每个方法的方法名称 例如 35 log in 35 list of other users 78 log in 35 send message to user 3
  • 记录时何时出现致命错误?

    在 log4j 和 log4net 等日志框架中 您可以记录各种级别的信息 大多数级别都有明显的意图 例如 调试 日志与 错误 日志是什么 然而 我一直害怕的一件事是将我的日志记录归类为 致命 哪种类型的错误如此严重以至于应被归类为致命错误
  • Java 自定义记录器:记录标准或/和最佳实践

    我正在开发一个框架 我希望 jar 尽可能轻量且独立 所以我写了一个日志类 import java util Date import java util Properties public class Logger private stat
  • 如何在 C++ 中的嵌套词法作用域可访问的作用域中声明静态信息?

    我想声明范围的标识符 该标识符将用于自动填充最内部范围内任何日志记录语句的字段 它们通常会 但并非总是如此 例如 lambda 使用 引入的块 匹配封闭块的 名称 用法看起来像这样 namespace app LOG CONTEXT app
  • docker环境下日志不保存到文件

    在我的生产环境中production rb 我已配置我的日志将保存到文件中 config logger Logger new log production log 当我在本地运行时 使用命令行启动服务器rails s e productio
  • AWS Beanstalk 上的 Python。如何对自定义日志进行快照?

    我正在开发适用于 aws beanstalk 环境的 python 应用程序 为了进行错误处理和调试 建议我将日志写入目录 var logs 上的自定义 lof 文件 我应该怎么做才能从 Elastic beanstalk 管理控制台获得能
  • 如何在 NextJS 中记录所有路由

    我对 NextJS 非常陌生 我目前有一个非常简单的应用程序 它提供少量页面 如果路由不存在 则返回 404 页面 我想记录每个请求 包括不存在的页面并返回 404 页面 我正在 docker 容器内运行该应用程序 或者我希望将日志写入标准
  • 打印到 STDOUT 和日志文件,同时删除 ANSI 颜色代码

    我有以下函数来为屏幕消息着色 def error string return 033 31 1m string 033 0m def standout string return 033 34 1m string 033 0m 我按如下方式
  • 如何使用 Fluent 为 Elasticsearch 添加时间戳和密钥

    我已经配置了 fluidd 和 elasticsearch 它们都工作正常 我正在跟踪一个文件 然后读取其数据并将其发布到elasticsearch 下面是json数据 time 2018 05 14T11 37 30 339593 Dat
  • 将屏幕(程序)输出保存到文件

    我需要保存整个输出Screen https en wikipedia org wiki GNU Screen到一个文件以便稍后检查所有内容 原因是我通过串行端口转储闪存 使用 Screen 与其交互 我想将其保存到文件中以检查内存结构 我试
  • Datadog 交易持续时间作为指标

    我们拥有来自不同服务且具有一个 CustomerID 的日志 SERVICE A CustomerID 11 Event start session Time 10 00 00 SERVICE B CustomerID 11 Event f
  • 我们可以在运行时更改 log4j 的日志记录级别吗

    我有一个问题 我想在运行时更改 log4j 的日志记录级别 我已经尝试了 log4j properties 文件的很多操作 我还尝试编写一段代码 在特定时间后再次读取属性文件并再次配置记录器 但问题是 我想将一个 API 调用的日志记录级别
  • 使用 Java 登录

    我通过执行以下代码在 java 中创建一个记录器 private static final String logFile File separator Log Files File separator Log Long toString S
  • 如何在 Django 中使用并发进程记录到单个文件而不使用独占锁

    给定一个在多个服务器上同时执行的 Django 应用程序 该应用程序如何记录到单个共享日志文件 在网络共享中 而不保持该文件以独占模式永久打开 当您想要利用日志流时 这种情况适用于 Windows Azure 网站上托管的 Django 应

随机推荐