2017-01-16 89 views
1

我正在使用logstash 2.4.0和logstash 2.4.0 我想使用logstash将slowlogs发送到.csv输出文件。我的配置文件是这样的发送slowlogs到.csv文件?

 input { 
    file { 
    path => "D:\logstash-2.4.0\logstash-2.4.0\bin\rachu.log" 
    start_position => "beginning" 
    } 
} 

filter { 
    grok { 
     match => [ "message", 

"\[%{TIMESTAMP_ISO8601:TIMESTAMP}\]\[%{LOGLEVEL:LEVEL}%{SPACE}\]\[%{DATA:QUERY}\]%{SPACE}\[%{DATA:QUERY1}\]%{SPACE}\[%{DATA:INDEX-NAME}\]\[%{DATA:SHARD}\]%{SPACE}took\[%{DATA:TOOK}\],%{SPACE}took_millis\[%{DATA:TOOKM}\], types\[%{DATA:types}\], stats\[%{DATA:stats}\],search_type\[%{DATA:search_type}\], total_shards\[%{NUMBER:total_shards}\], source\[%{DATA:source_query}\], extra_source\[%{DATA:extra_source}\],"] 
    } 
} 
output { 
    csv { 
     fields => ["TIMESTAMP","LEVEL","QUERY","QUERY1","INDEX-NAME","SHARD","TOOK","TOOKM","types","stats","search_type","total_shards","source_query","extra_source"] 
     path => "D:\logstash-2.4.0\logstash-2.4.0\bin\logoutput.csv" 
     spreadsheet_safe => false 
    } 

} 

回答

1

csv过滤器在您的上下文中没有用处。它的目标是解析传入的CSV数据,但这不是你所拥有的。你需要的是先解析与grok过滤日志线,只有这样,你就可以正确地将其发送至csv输出:

filter { 
    grok { 
     match => {"message" => "\[%{TIMESTAMP_ISO8601:TIMESTAMP}\]\[%{LOGLEVEL:LOGLEVEL} \]\[%{DATA:QUERY}\] \[%{WORD:QUERY1}\] \[%{WORD:INDEX}\]\[%{INT:SHARD}\] took\[%{BASE10NUM:TOOK}ms\], took_millis\[%{BASE10NUM:took_millis}\], types\[%{DATA:types}\], stats\[%{DATA:stats}\], search_type\[%{DATA:search_type}\], total_shards\[%{INT:total_shards}\], source\[%{DATA:source}\], extra_source\[%{DATA:extra_source}\]"} 
    } 
} 
output { 
    csv { 
     fields => ["TIMESTAMP","LOGLEVEL","QUERY","QUERY1","INDEX-NAME","SHARD","TOOK","took_millis","types","stats","search_type","total_shards","source_query","extra_source"] 
     path => "F:\logstash-5.1.1\logstash-5.1.1\finaloutput1" 
     spreadsheet_safe => false 
    } 
} 

注:这还不能在Logstash 5.1工作。 1因为this open issue。它应该尽快得到解决,但同时它适用于Logstash 2.4。

+0

为了社区的利益,您是否能够完成这项工作,或者您是否还有其他问题?这是一个很好的做法,让人们知道一个答案是否符合你的需求,如果是,接受它。 – Val

+0

是的,它完全符合我在logstash 2.4.0中的需求,并且我也接受了它。 – Seeker

+0

当我接受它显示'感谢您的反馈意见,那些少于15声誉的投票记录,但不改变公开显示的帖子得分' – Seeker

相关问题