Вам необходимо изменить:
multiline.negate
до true
.
и я не уверен, что вы пытаетесь достичь с помощью шаблона, но, похоже, вам следует:
multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
Более того, вам больше не нужно использовать многострочный в logstash - просто пройдите с:
input {
beats {
port => 5044
}
}
В общем, чтобы перехватить весь журнал, я бы изменил вашу конфигурацию Filebeat на:
- type: log
enabled: true
paths:
- C:\logs\test.log
multiline.pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
multiline.negate: true
multiline.match: after
Немного объяснений:
Когда мы выбираем negate:true
и match: after
, мы сообщаем FileBeat:
Последовательные строки, которые не соответствуют шаблону, добавляются к
предыдущая строка, которая соответствует.
Другими словами - он говорит FileBeat собирать каждую строку, которая начинается с данного шаблона и заканчивается, когда этот шаблон появляется снова в начале новой строки.
Для этого шаблона ^[0-9]{4}-[0-9]{2}-[0-9]{2}
, если вы получите это 2 исключения:
2018-09-04 05:29:03.955 [default task-38] ERROR c.r.e.u.util.MongoConnectionUtil.createMongoUser - Exception occured while creating mongo userCommand failed with error 11000: 'User "asdf" already exists' on server 192.168.1.33:27017. The full response is { "ok" : 0.0, "errmsg" : "User \"asdf\" already exists", "code" : 11000, "codeName" : "DuplicateKey" }
com.mongodb.MongoCommandException: Command failed with error 11000: 'User "qwer" already exists' on server 192.168.1.33:27017. The full response is { "ok" : 0.0, "errmsg" : "User \"asdf\" already exists", "code" : 11000, "codeName" : "DuplicateKey" }
at com.mongodb.connection.ProtocolHelper.getCommandFailureException(ProtocolHelper.java:115)
at com.mongodb.connection.CommandProtocol.execute(CommandProtocol.java:114) ...
2018-09-04 05:30:00.000 [default task-38] ERROR c.r.e.u.util.MongoConnectionUtil.createMongoUser - Exception occured while creating mongo userCommand failed with error 11000: 'User "asdf" already exists' on server 192.168.1.33:27017. The full response is { "ok" : 0.0, "errmsg" : "User \"asdf\" already exists", "code" : 11000, "codeName" : "DuplicateKey" }
com.mongodb.MongoCommandException: Command failed with error 11000: 'User "qwer" already exists' on server 192.168.1.33:27017. The full response is { "ok" : 0.0, "errmsg" : "User \"asdf\" already exists", "code" : 11000, "codeName" : "DuplicateKey" }
at com.mongodb.connection.ProtocolHelper.getCommandFailureException(ProtocolHelper.java:115)
at com.mongodb.connection.CommandProtocol.execute(CommandProtocol.java:114) ...
Было бы перехватывать каждое исключение как отдельный журнал записей. Если вы регистрируете больше материала и хотите, чтобы filebeat собирал только Error, это другое дело. В нашей программе мы собираем все это и запрашиваем по серьезности (т.е. ошибка, информация, предупреждение и т. Д.)