Codec plugins ? multiline

Codec plugins ? multiline

multiline codec 会折叠多行消息,合并它们到一个事件

这个codec 原始的目的是允许 连接多行信息从文件到一个单独的事件。

比如, 连接Java 异常和stacktrace 消息到一个单独的事件

配置看起来像这样:

input {
stdin {
codec => multiline {
pattern => "pattern, a regexp"
negate => "true" or "false"
what => "previous" or "next"
}
}
} input {
file {
type => "zj_api"
path => ["/data01/applog_backup/zjzc_log/zj-api*catalina*"]
codec => multiline {
pattern => "^\s+%{TIMESTAMP_ISO8601}"
negate => true
what => "previous"
}
} file {
type => "wj_api"
path => ["/data01/applog_backup/winfae_log/wj-api*catalina*"]
codec => multiline {
pattern => "^\s+%{TIMESTAMP_ISO8601}"
negate => true
what => "previous"
}
} } pattern 应该匹配你相信的作为一个指示字段是一个多行事件的一部分 what 必须是 previous or next 表明和多行事件的关系 negate 可以是true 或者false(默认false) 如果是true, 一个消息不匹配模式 会组成一个多行过滤器的匹配 例如, Java stack traces 是多行匹配和通常有消息开始在左边,每个后续行是缩进的 像这样: input {
stdin {
codec => multiline {
pattern => "^\s"
what => "previous"
}
}
} 这个意思是任何行以空格开头属于先前的行 另外一个例子是合并多行不是以日志开始的 合并到上一行 input {
file {
path => "/var/log/someapp.log"
codec => multiline {
# Grok pattern names are valid! :)
pattern => "^%{TIMESTAMP_ISO8601} "
negate => true
what => previous
}
}
}
这个意思是任何行不以时间戳开头的都合并到上一行 一个常见的例子是C的续行(反斜杠), filter {
multiline {
type => "somefiletype"
pattern => "\\$"
what => "next"
}
} 这表示, 任何行以反斜杠借宿应该合并到下一行 Synopsis 简介: 插件支持下面的配置选项: 需要的配置选项: multiline {
pattern => ...
what => ...
}
上一篇:python3.4学习笔记(十七) 网络爬虫使用Beautifulsoup4抓取内容


下一篇:洛谷P3374树状数组1