2016-12-22 4 views
0

Я изучаю logstash, и я использую Kibana для просмотра журналов. Я хотел бы знать, есть ли все равно, чтобы добавить поля, используя данные от message.Logstash - Добавить поля из журнала - Grok

Например, журнал, как это:

@timestamp:December 21st 2016, 21:39:12.444 port:47,144 
appid:%{[path]} host:172.18.0.5 levell:level message: 
{"@timestamp":"2016-12-22T00:39:12.438+00:00","@version":1,"message":"Hello","logger_name":"com.empresa.miAlquiler.controllers.UserController","thread_name":"http-nio-7777-exec-1","level":"INFO","level_value":20000, 
"HOSTNAME":"6f92ae402cb4","X-Span-Export":"false","X-B3-SpanId":"8f548829e9d18a8a","X-B3-TraceId":"8f548829e9d18a8a"} 

Мой logstash конф, как:

filter { 
grok { 
match => { 
    "message" => 
    "^%{TIMESTAMP_ISO8601:timestamp}\s+%{LOGLEVEL:level}\s+%{NUMBER:pid}\s+---\s+\[\s*%{USERNAME:thread}\s*\]\s+%{JAVAFILE:class}\s*:\s*%{DATA:themessage}(?:\n+(?<stacktrace>(?:.|\r|\n)+))?$" 
} 
} 
date { 
match => [ "timestamp" , "yyyy-MM-dd HH:mm:ss.SSS" ] 
} 
mutate { 
remove_field => ["@version"] 
add_field => { 
    "appid" => "%{[path]}" 
} 
add_field => { 
    "levell" => "level" 
} 

} }

Я хотел бы взять уровень (в журнале INFO), а сообщение (в журнале - Hello) и добавляет их как поля.

Есть ли все-таки сделать это?

+0

Я мог бы ответить на вопрос с этим сообщением: http://stackoverflow.com/questions/33937936/how-to-parse-json-in-logstash-grok-from-a-text-file-line – AleGallagher

ответ

1

Что делать, если вы делаете что-то вроде этого, используя mutate:

filter { 
    mutate { 
    add_field => ["newfield", "%{appid} %{levell}"] <-- this should concat both your appid and level to a new field 
    } 
} 

Вы можете посмотреть на этой thread.

+0

Спасибо для вашего ответа @ Kulasangar! , Я пытаюсь сделать 'add_field => {" tipo "=>"% {evel} "}', но поле явно показывает: «% {level}», insted значения, например «INFO». – AleGallagher

+0

Вы уверены, что ваш мутат работает? Я имею в виду, где вы получаете 'значение уровня: add_field => { "levell"=> "уровень" } – Kulasangar

+0

Я так думаю, файл logstash конф, выглядит следующим образом:' мутировать { remove_field => [ "@version"] add_field => { "level_type" => "% {levell}"} } ' Я не знаю, что делать. – AleGallagher

Смежные вопросы