2016-04-18 5 views
0

私はESを初めて利用しています。 ESにjsonイベントを送信しようとしていますhttps://github.com/awslabs/logstash-output-amazon_es しかし、以下の設定をするとイベントは認識されません。Amazon ESのLogstash PluginでjsonイベントをESに送信する方法は?

input { 
     file { 
      path => "C:/Program Files/logstash-2.3.1/transactions.log" 
      start_position => beginning 
      codec => "json_lines" 
     } 
    } 
    filter { 
     json { 
      source => "message" 
     } 
    } 

    output { 
     amazon_es { 
      hosts => ["endpoint"] 
      region => "us-east-1" 
      codec => json 
      index => "production-logs-%{+YYYY.MM.dd}" 

     } 
    } 

私は、デバッグモードで実行しているが、私はLogstashからイベントの送信を開始する前に はまた、私は、インデックスを作成する必要がありますログには何もありませんか?

以下の設定が何らかの形で動作します、しかし、それは、任意のJSONフィールド

input { 
    file { 
     path => "C:/Program Files/logstash-2.3.1/transactions.log" 
     start_position => beginning 
    } 
} 

output { 
    amazon_es { 
     hosts => ["Endpoint"] 
     region => "us-east-1" 
     index => "production-logs-%{+YYYY.MM.dd}" 
    } 
} 

感謝を認識しません!

+0

Windows 7で実行しています –

+0

ログには何がありますか? Logstashはファイルを解析するのが非常に難しいです。実際に出力/出力にダンプするには、フィルタリング/解析する必要があります。そうしないと、単に無視されます。 https://www.elastic.co/guide/en/logstash/current/plugins-inputs-file.html >デフォルトでは、各イベントは1行とみなされます。複数のログラインを1つのイベントに参加させたい場合は、マルチラインコーデックまたはフィルタを使用することをお勧めします。 ログが1行で、改行がなく、正しい形式のjsonであることを確認します.logstashは処理した行を再読み込みしないので、ファイルに「新しい」行が追加されていることを確認する必要があります。 – Greyeye

答えて

0

を含め、ここで遊んでいくつかのことがあるかもしれません:

  • Logstashがあなたのファイルが既に処理されていると考えています。 start_positionは以前には見られなかったファイルのみに適用されます。テストする場合は、sincedb_pathを/ dev/nullに設定するか、レジストリファイルを手動で管理してください。
  • マッピングに問題があります。 Elasticsearchは、フィールドマッピングが正しくないとき(文字列を数値フィールドに挿入しようとしたときなど)にドキュメントをドロップします。これは、AWS上で取得できる場合は、elasticsearchログに表示されます。
  • デバッグは非常に冗長です。あなたが本当に何も得られないなら、あなたは何の入力も受けていません。最初の箇条書き項目を参照してください。
  • stdout {}出力を追加することは、作業を開始するまでは良いアイデアです。これは、logstashがelasticsearchに送るものを表示します。
関連する問題