1

ログを視覚化するために、logstash、elasicsearch、および Kibana をセットアップしようとしています。ログはTCP経由でlogstashに送信され、フィルタリングされ、ES-indexに出力され、kibanaに表示されます。

私がlogstashに送信しているメッセージ:

msg_to_tcp="id=1324 type=error name=system_name"

logstash.conf:

input{
   tcp {
      host => localhost
      port => 55555
     }
}
filter {
   kv {} 
   mutate {
      convert => ["id" , "integer"]
   }
}
output {
   elasticsearch {
       host => localhost
       port => 9200
    } 
}

使用法: logstash 1.4.2 、elasticsearch 1.4.4 および kibana 4

残念ながら、id を整数に変換することはできません。Kibana は、それがまだ文字列であることを示しています。

また、キバナで「スクリプト化されたフィルター」を使用しようとしましたが、エラーが発生するだけです。

Integer.parseInt(doc["id"].value)

誰かが「id」を整数に変換するのを手伝ってくれますか?

4

2 に答える 2

0

この変更を行う前に、既存のインデックスを削除しましたか? そうでない場合、ElasticSearch インデックスで使用されるテンプレートを変更することはできません。これには、各フィールドのタイプが含まれます。代わりに、新しいインデックスを作成してデータを入力する必要があります。同じインデックス名を使用する場合は、最初に既存のインデックスを削除する必要があります。

于 2015-03-12T16:23:42.080 に答える