2016-04-27 9 views
0

にcsvからの値を変換する際に問題が発生しました。 のように 'id' => 'integer'のように変換すると正しく動作します。 私はそれがクラッシュ....Logastash CSVフィルタ|

input { 
     tcp { 
      port => 5000 
     } 
     file { 
       path => '/tmp/logstash/databases/1.csv' 
       type => 'test' 
       start_position => 'beginning' 
      } 
    } 

    filter { 
     csv { 
      columns => ['Id','ElapsedRealTimeNanos','Accuracy','Altitude','Bearing','CreatedOn','Latitude','Longitude','Provider','Speed','Time'] 
      separator => ',' 
      convert => {'Accuracy' => 'float','id'=>'integer'} 
     } 
    } 

    output { 
     elasticsearch { 
       hosts => 'elasticsearch:9200' 
     } 
     stdout{ 

     } 
    } 

がエラー以下の設定のように変換する別のものを追加した場合:間にコンマなし

... 
convert => { 
    'Accuracy' => 'float' 
    'Id' => 'integer' 
} 
... 

:あなたのようにそれを使用することができます

{:timestamp=>"2016-04-27T18:49:51.881000+0000", 
:message=>"fetched an invalid config", 
:config=>"input {\n\ttcp {\n\t\tport => 5000\n\t}\n\tfile {\n 
path => '/tmp/logstash/databases/1.csv'\n   
type => 'test'\n   start_position => 'beginning'\n 
}\n}\n\nfilter {\n csv {\n   
columns => ['Id','ElapsedRealTimeNanos','Accuracy','Altitude','Bearing','CreatedOn','Latitude','Longitude','Provider','Speed','Time']\n   
separator => ','\n\t\t\t\tconvert => {'Accuracy' => 'float','id'=>'integer'}\n }\n}\n\noutput {\n\telasticsearch {\n\t\t\thosts => 'elasticsearch:9200'\n\t}\n\tstdout{\n\n\t}\n}\n\n", 
:reason=>"Expected one of #, {, } at line 16, column 38 (byte 391) after filter {\n csv {\n  
columns => ['Id','ElapsedRealTimeNanos','Accuracy','Altitude','Bearing','CreatedOn','Latitude','Longitude','Provider','Speed','Time']\n   
separator => ','\n\t\t\t\tconvert => {'Accuracy' => 'float'", :level=>:error} 
+0

UPDATE:のmutate作品でそれを変換します! –

答えて

-1

コンバージョン

また、エラーのためにあなたの設定ファイルをチェックするために----設定試験オプションを使用することができます。

λ bin/logstash -f example.conf --configtest 
+0

ありがとうalpert - もうエラーではありません。しかし残念ながら、文字列は変換されません。 30.0 –

+0

より明確にする:kibana内では、正確さのためにタイプとして "string"を表示します –

+0

logstashによって作成されたインデックスとインデックステンプレートを削除します。ヘッダー形式csvを削除します。数値書式例外が作成されます。データのインデックスを再作成します。それは私のために働いた。また、 'id'は' Id'でなければなりません。 – alpert

関連する問題