Docker流利的记录驱动程序用于多行

che*_*wee 10 logging fluentd docker

我正在尝试使用流利的Docker环境创建一个集中式日志系统.目前,我能够使用流畅的docker日志驱动程序将docker日志发送到流畅的日志驱动程序,与使用in_tail方法读取docker日志文件相比,这是一个更清晰的解决方案.但是,我目前正面临多行日志问题.

在此输入图像描述

从上图中可以看出,多行日志无序,这对用户来说非常困惑.有什么办法可以解决这个问题吗?

谢谢.

CW

dut*_*tzu 1

看看multiline他们的文档中的解析:http://docs.fluenced.org/articles/parser-plugin-overview#

您基本上必须指定一个正则表达式,该正则表达式将与新日志消息的开头相匹配,并使 fluidd 能够将多行日志事件聚合到单个消息中。

来自其文档的常见 java 堆栈跟踪示例:

format multiline format_firstline /\d{4}-\d{1,2}-\d{1,2}/ format1 /^(?<time>\d{4}-\d{1,2}-\d{1,2} \d{1,2}:\d{1,2}:\d{1,2}) \[(?<thread>.*)\] (?<level>[^\s]+)(?<message>.*)/

  • 根据 Fluentd 的文档,“`multiline` 仅适用于 in_tail 插件。” 这意味着当您使用“@typeforward”作为来自 docker 的输入时,这将不起作用。 (3认同)