I haben Logfile log in dieser Form enthältadd_field logstash nach Wert Json Umwandlung
"{\"user_id\":\"79\",\"timestamp\":\"2016-12-28T11:10:26Z\",\"operation\":\"ver3 - Requested for recommended,verified handle information\",\"data\":\"\",\"content_id\":\"\",\"channel_id\":\"\"}"
für die ich logstash Konfiguration
input {
beats {
port => "5043"
}
}
filter{
grok {
match => { "message" => "%{QS:mydata}"}
}
json {
source => "message"
target => "parsedJson"
}
mutate {
add_field =>{
"user_id" => "%{[parsedJson.user_id]}"
"operation" => "%{[parsedJson][operation]}"
"data"=> "%{[parsedJson][operation]}"
}
}
}
output {
elasticsearch {
hosts => [ "localhost:9200" ]
}
}
im Grunde versucht, ich habe viele Permutationen geschrieben haben, den Wert zu holen, aber in elasticsearch Daten ist wie das Bild unten. Ich kann keine Daten von JSON abrufen und einem neuen Wert zuweisen. bitte helfen.
Nein ich das schon versucht .. Funktioniert nicht –
Betrieb \t \t% {[parsedJson] [Betrieb]}} User_id \t \t% {[parsedJson] [user_id]}} diese Werte wird nicht analysiert zu werden die ich Abholen von parsedJson –
@YatenderSingh Hallo, ich habe die Antwort aktualisiert, was passiert, wenn Sie versuchen, das Feld innerhalb des 'json' Filter Zugabe selbst? Werfen Sie einen Blick auf diese [Thema] (https://discuss.elastic.co/t/accessing-field-of-json-input/56068) als auch. – Kulasangar