我使用输入文件获取这样的日志:
input {
file {
path => "/home/ec2-user/*.log"
}
}
在其中一个日志文件中,某些事件以1行记录:
2018-12-10 10:01:30.1097|0|Services.Services|INFO| Message: test
另一个是像这样的多行:
2018-12-10 10:01:30.1097|0|Services.Services|INFO| Message: {
"account_id": "ec812648-3857-4625-9d9a-fc8ce1835493",
"name": "Player_539017",
"creation_time": "10/12/2018 10:52:52",
"hq_level": 2,
"force": 2570
} successfully dequeued |url: |action:
如何使用logstash过滤器捕获两条消息:
答案 0 :(得分:0)
下面是this页面上的示例,该页面使用多行编解码器以日期时间戳记作为单个事件捕获日志行。这将适用于上述两个日志事件。
file {
path => "/home/ec2-user/*.log"
codec => multiline {
# Grok pattern names are valid
pattern => "^%{TIMESTAMP_ISO8601} "
negate => true
what => "previous"
}
}