0
ログファイルmylogs.log
からJSONデータをインポートしようとしています。以下は私のlogstash設定ファイルです。私は、インスタンスをElasticsearchする送信&解析し、それはなってきた任意のJSONデータを渡された場合、この設定ファイルを実行した後Logstashでファイルからjsonデータをインポートできません
input {
stdin { }
file {
codec => "json"
path => "/logs/mylogs.log"
start_position => "beginning"
sincedb_path => "/dev/null"
}
}
filter{
json{
source => "message"
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "jsonlog"
}
stdout { codec => rubydebug }
file {
path => "/logs/out.log"
}
}
。私はElasticsearchインスタンスから見ることができます。しかし、ログファイルに存在するデータは、logstashによってインポートされません。
また、Logstash &によって解析されるJSONデータを手動で追加すると、Elasticsearchインスタンスが送信されます。これらのデータも、OUTPUTファイルに記録されていません。
問題が何か分かりません。
私が使用しているJSONデータのサンプルです。
{ "logger":"com.myApp.ClassName", "timestamp":"1456976539634", "level":"ERROR", "thread":"pool-3-thread-19", "message":"Danger. There was an error", "throwable":"java.Exception" }
{ "logger":"com.myApp.ClassName", "timestamp":"1456976539649", "level":"ERROR", "thread":"pool-3-thread-16", "message":"I cannot go on", "throwable":"java.Exception" }
オクラホマから
"tags" => [ [0] "_jsonparsefailure" ]
レスポンスのエラーを取得しています。とった!!!設定ファイル '' '_jsonparsefailure'''から' 'json''フィルタを削除することで修正されました。 :) – mi6crazyheart