我只需要过滤java致命日志,然后使用logstash管道将该日志放入Elasticsearch索引中。
我将日志放入了弹性搜索索引。但它具有所有日志(信息,调试)。
示例日志条目:
2019-05-06 14:37:23 DEBUG Scheduler : Starting Scheduler... 2019-05-06 14:37:24 INFO Scheduler : Quartz scheduler started
答案 0 :(得分:0)
我想您的日志条目可能是这样的。
例如:
Sample Pop a1 a10 a100
F295 Pesche A C A T A A
F296 Pesche G T C G A C
F297 Pesche A A G G T T
F298 Pesche A C A G C G
对于此输入,Logstash 2019-04-23 10:12:10 INFO - 12345 - SQL - sqlQuery1 - 12
2019-04-23 10:12:10 FATAL - 12345 - SQL - sqlQuery2 - 34
2019-04-23 10:12:10 INFO - 12345 - TASK_END - end
可能是这样;
filter
我正在使用filter {
grok {
match => [ "message" => "%{NOTSPACE:datetime} - %{LOGLEVEL:loglevel} - %{NOTSPACE:taskid} - %{NOTSPACE:logger} - %{WORD:label}( - %{INT:duration:int})?" ]
}
if [loglevel] =~ "FATAL" {
drop { }
}
}
output {
elasticsearch {
hosts => ["elasticsearch:9200"]
index => "indexfatal-%{+YYYY.MM.dd}"
}
}
插件映射输入条目,然后检查并删除非FATAL条目以将它们从索引中排除。
这可能需要一些微调才能使用您的日志。