Logstash混合日志-多行和常规

时间:2018-12-13 08:56:17

标签: logstash logstash-grok logstash-file

我使用输入文件获取这样的日志:

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过滤器捕获两条消息:

1 个答案:

答案 0 :(得分:0)

下面是this页面上的示例,该页面使用多行编解码器以日期时间戳记作为单个事件捕获日志行。这将适用于上述两个日志事件。

file {
  path => "/home/ec2-user/*.log"
  codec => multiline {
    # Grok pattern names are valid
    pattern => "^%{TIMESTAMP_ISO8601} "
    negate => true
    what => "previous"
  }
}