12因素说,
十二因素应用程序从不关心其输出流的路由或存储。它不应尝试写入或管理日志文件。相反,每个正在运行的进程都将其事件流(无缓冲)写入stdout。
优点是,我们不必为不同的环境(dev/prod)配置不同的日志记录端点,不会错过写入stderr的未处理异常。
我在 Python 和 Node.js 中有一些脚本已经记录到 stdout/stderr,我不想修改这些脚本以进行集中记录。
那么,如何将这些日志解析为结构化数据并由 logstash 收集(包括多行错误)。
在 AWS 中,来自 Lambda 或 Beanstalk 的 stdout/stderr 由 CloudWatch 捕获。所以,如果这是可能的,那么应该有一种方法可以对 logstash 做同样的事情。