2016-11-07 4 views
0

私は単一のログファイルを持っており、タイムスタンプ(例えば、gt> 24th oct)に基づいてelasticsearchにログを索引付けしたいと考えています。このためにlogstashを設定するにはどうすればよいですか? ignore_olderフィールドは複数のファイル用ですので使用できません。logstash設定内のタイムスタンプに基づいてelasticsearchのログをインデックスする方法は?

+0

ignore_olderがあなたにとってうまくいかない理由を説明できますか?パスと除外オプションを使用すると、適切なファイル – baudsp

+0

はいを​​選択できますが、1つのファイルしか持たないため、ログに記録されている日付に関する特定のファイルのログをフィルタリングします。 –

答えて

0

このようなことを達成するにはいくつかの方法があります。最も簡単な方法は、日付の表現方法によって異なります。たとえば、ファイル内の日付はYYYY-MM-DD形式の場合、あなたはこのような文字列比較を行うことができます。そうでない場合は

if ([timestamp] < '2015-01-01') { 
      drop {} 
    } 

、あなたの最善の策は、@timestampで新しいフィールドを追加することです文字列として。 GMTになることに注意してください

mutate { 
      add_field => [ "mydate", "%{@timestamp}"] 
    } 
    if ([mydate] < '2015-01-01') { 
      drop {} 
    } 
    mutate { 
      remove_field => ["mydate"] 
    } 
+0

はいこれはYYYY-MM-ddの書式で動作しますが、私の日付の書式は[Tue Nov 8 11:47:28 2016]なので、文字列書式の日付を処理してログをフィルタリングする方法です。 –

+0

日付フィルタを使用して日付を解析し、上記の@timestampメソッドを使用します – Alcanzar

関連する問題