2017-03-26 11 views
0

Logstashでタイムスタンプフィールドを入力しようとしていますが、dateparsefailureメッセージが表示されています。Logstash - カスタムタイムスタンプエラー

私のメッセージ -

2014年8月1日; 11:00:22.123

パイプラインファイル

input { 
stdin{} 
#beats { 
#  port => "5043" 
# } 
} 
# optional. 
filter { 
    date { 
     locale => "en" 
     match => ["message", "YYYY-MM-dd;HH:mm:ss.SSS"] 
     target => "@timestamp" 
     add_field => { "debug" => "timestampMatched"} 
    } 
} 
output { 
elasticsearch { 
     hosts => [ "127.0.0.1:9200" ] 
    } 
stdout { codec => rubydebug } 
} 

誰かが私が行方不明です何を教えてもらえますか?

アップデート1

私は、リンクを参照 - How to remove trailing newline from message field今では動作します。私は、入力としてこれを与えるとき

は、しかし、私のログメッセージには、私はタイムスタンプ

<B 2014-08-01;11:00:22.123 Field1=Value1 Field2=Value2 

以外の複数の値を持って、それが機能していません。ログの一部を読み込んでタイムスタンプとして作成するには?

アップデート2

は、それが動作するようになりました。私は以下の答えを投稿し、私は私のような人々を助けることができるように問題を解決するために使用されるステップのです

filter { 
kv 
    { 

    } 
mutate { 
    strip => "message" 
    } 
    date { 
     locale => "en" 
     match => ["timestamp1", "YYYY-MM-dd;HH:mm:ss.SSS"] 
     target => "@timestamp" 
     add_field => { "debug" => "timestampMatched"} 
    } 

} 

答えて

1

以下のよう

は、設定ファイルを変更しました。

ステップ1 - 私は例外

ステップ3の解析につながる余分なスペースをトリミング - - 私は、タイムスタンプ値を読み取り、Iは​​、キーと値のペアの形式

ステップ2でメッセージを読みます各フィールドの他のフィールド。

input { 
beats { 
     port => "5043" 
    } 
} 
# optional. 
filter { 
    kv { } 
    date { 
      match => [ "timestamp", "yyyy-MM-dd HH:mm:ss,SSS" ] 
      remove_field => [ "timestamp" ] 
     } 
} 
output { 
elasticsearch { 
     hosts => [ "127.0.0.1:9200" ] 
    } 
}