elasticsearch 使用Logstash拆分不同ElasticSearch文档中的日志,elasticsearch,logstash,elasticsearch,Logstash" /> elasticsearch 使用Logstash拆分不同ElasticSearch文档中的日志,elasticsearch,logstash,elasticsearch,Logstash" />

elasticsearch 使用Logstash拆分不同ElasticSearch文档中的日志

elasticsearch 使用Logstash拆分不同ElasticSearch文档中的日志,elasticsearch,logstash,elasticsearch,Logstash,Hi StackOverflow社区 我正在为我的一个项目实施ELK。我有一个以这种格式生成的连续日志流。连续流是指日志以以下格式生成(每个日志的开始日期) 2017年4月3日05:54:30416[信息]日志文本 我想解析这些日志,并使用Logstash转换为结构化文档,然后放入ElasticSearch。日志将转到ElasticSearch,但它们位于一个块中(即,对于一个请求,生成的所有日志都是一个ElasticSearch文档的一部分),并且每个日志不会创建新文档 我的日志存储的输入配置

Hi StackOverflow社区

我正在为我的一个项目实施ELK。我有一个以这种格式生成的连续日志流。连续流是指日志以以下格式生成(每个日志的开始日期)

2017年4月3日05:54:30416[信息]日志文本

我想解析这些日志,并使用Logstash转换为结构化文档,然后放入ElasticSearch。日志将转到ElasticSearch,但它们位于一个块中(即,对于一个请求,生成的所有日志都是一个ElasticSearch文档的一部分),并且每个日志不会创建新文档

我的日志存储的输入配置如下所示:

    input {
    file {
        path => "/Users/abc/logfile.txt"
        start_position => "beginning"
        codec => multiline {
             pattern => "^([0-9]{2} [A-Za-z]{3} [0-9]{4} [0-9:]{8},[0-9]+)"
             negate => true
             what => previous
         }
    }
}

这个配置有什么问题吗?使用regex tester测试添加到多行编解码器中的regex模式,它可以正确识别日志开始的日期。

多行编解码器用于将多行连接在一起,以便在筛选器中将它们作为一个组进行处理。输入文件的第二行是什么样子的,因为您声明您有一个给定格式的连续流,这表示您永远不会有任何与该格式不匹配的内容。嗨,Alcanzar!我所说的连续流是指不断生成日志,它们以问题中提到的格式以日期开始。我想将日志发布为单独的文档,由于日志可能是多行日志(在异常情况下等),但总是以所述格式的日期开头,因此我添加了多行编解码器模式