0

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\":\"ver‌​3 - 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. enter image description here

Antwort

0

Was passiert, wenn Sie versuchen, die add_field in Ihrem json Filter einschließlich und machen mydata als source in json. Auch stellen Sie sicher, dass Sie nicht trennen den add_field Wert mit dem . dot:

json { 
    source => "mydata" 
    target => "parsedJson" 
    add_field => { 
     "user_id" => "%{[parsedJson][user_id]}}" 
     "operation" => "%{[parsedJson][operation]}}" 
     "data" => "%{[parsedJson][data]}}" 
    } 
    remove_field=>["mydata"] <-- you can ignore this if you really don't want to remove 
} 

Hoffe, es hilft!

+0

Nein ich das schon versucht .. Funktioniert nicht –

+0

Betrieb \t \t% {[parsedJson] [Betrieb]}} User_id \t \t% {[parsedJson] [user_id]}} diese Werte wird nicht analysiert zu werden die ich Abholen von parsedJson –

+0

@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