使用Logstash创建正确的ElasticSearch索引

时间:2018-08-14 10:21:50

标签: elasticsearch logstash

我无权访问公司的ElasticSearch集群,并且使用下面的Logstash配置来创建索引并将序列化的对象存储在ElasticSearch中。

此解决方案的问题在于字段存储为错误的类型。例如,整数字段在ElasticSearch中存储的时间很长。

input {
    http
    {
        host => "0.0.0.0"
        port => 9600
        codec => json
    }
}

output {
    elasticsearch { 
        hosts => ["elasticsearch:9200"] 
    }
    stdout { codec => rubydebug }
}

是否可以发送带有请求的模式? (使用protobuf,trift,avro等)

如果没有,是否可以随请求发送所需的ElasticSearch映射? (我也不能使用模板文件,因为我也没有对Logstash的文件访问权限。而且我有成百上千个不同的对象,这使其不切实际。)

编辑:我不能为每个字段指定变异逻辑。有数百个。

1 个答案:

答案 0 :(得分:0)

您可以将mutate { convert } filter添加到配置文件。 Elasticsearch字段将自动映射到相应的类型。就您而言:

countable