У вас в основном две проблемы в вашей конфигурации.
1.) Вы используете фильтр dissect
, а не grok
, оба используются для анализа сообщений, но grok
использует регулярные выражения для проверки значения поля, а dissect
просто позиционный, он не выполняет никакой проверки, если у вас есть СЛОВО значение в позиции поля, которое ожидает ЧИСЛО, grok
завершится ошибкой, а dissect
— нет.
Если ваши строки журнала всегда имеют один и тот же шаблон, вам следует продолжать использовать dissect
, так как он быстрее и требует меньше ресурсов процессора.
Ваше правильное сопоставление dissect
должно быть:
dissect {
mapping => { "message" => "%{number} [%{thread}] %{level} %{class} - %{[@metadata][msg]}" }
}
2.) Поле, содержащее сообщение kv, неправильное, в нем есть поля, разделенные пробелом и запятой, kv
так не пойдет.
После вашего фильтра dissect
это содержимое [@metadata][msg]
.
method=PUT status=201 appLogicTime=1, streamInTime=0, blobStorageTime=32, totalTime=33 tenantId=b0csdfsd-1066-4444-adf4-ce7bsdfssdf, immutableBlobId=bss_c_586334/Sample_app15-615223-157sadas6648465.txt, blobSize=2862, domain=cde
Чтобы решить эту проблему, вы должны использовать фильтр мутации, чтобы удалить запятую из [@metadata][msg]
, и использовать фильтр kv
с настройками по умолчанию.
Это должна быть ваша конфигурация фильтра
filter {
dissect {
mapping => { "message" => "%{number} [%{thread}] %{level} %{class} - %{[@metadata][msg]}" }
}
mutate {
gsub => ["[@metadata][msg]",",",""]
}
kv {
source => "[@metadata][msg]"
}
}
Ваш вывод должен быть примерно таким:
{
"number" => "2519366789",
"@timestamp" => 2019-11-03T16:42:11.708Z,
"thread" => "http-nio-8080-exec-47",
"appLogicTime" => "1",
"domain" => "cde",
"method" => "PUT",
"level" => "DEBUG",
"blobSize" => "2862",
"@version" => "1",
"immutableBlobId" => "bss_c_586334/Sample_app15-615223-157sadas6648465.txt",
"streamInTime" => "0",
"status" => "201",
"blobStorageTime" => "32",
"message" => "2519366789 [http-nio-8080-exec-47] DEBUG q.s.b.y.m.PerformanceMetricsFilter - method=PUT status=201 appLogicTime=1, streamInTime=0, blobStorageTime=32, totalTime=33 tenantId=b0csdfsd-1066-4444-adf4-ce7bsdfssdf, immutableBlobId=bss_c_586334/Sample_app15-615223-157sadas6648465.txt, blobSize=2862, domain=cde",
"totalTime" => "33",
"tenantId" => "b0csdfsd-1066-4444-adf4-ce7bsdfssdf",
"class" => "q.s.b.y.m.PerformanceMetricsFilter"
}
person
leandrojmp
schedule
03.11.2019