elasticsearch 使用Logstash创建正确的ElasticSearch索引
我没有访问corporate ElasticSearch集群的权限,我使用下面的Logstash配置在ElasticSearch中创建索引和存储序列化对象elasticsearch 使用Logstash创建正确的ElasticSearch索引,elasticsearch,logstash,elasticsearch,Logstash,我没有访问corporate ElasticSearch集群的权限,我使用下面的Logstash配置在ElasticSearch中创建索引和存储序列化对象 input { http { host => "0.0.0.0" port => 9600 codec => json } } output { elasticsearch { hosts => ["elasticsea
input {
http
{
host => "0.0.0.0"
port => 9600
codec => json
}
}
output {
elasticsearch {
hosts => ["elasticsearch:9200"]
}
stdout { codec => rubydebug }
}
此解决方案的问题是字段存储为不正确的类型。例如,整数字段在ElasticSearch中存储的长度相同
input {
http
{
host => "0.0.0.0"
port => 9600
codec => json
}
}
output {
elasticsearch {
hosts => ["elasticsearch:9200"]
}
stdout { codec => rubydebug }
}
是否可以随请求一起发送模式?(使用protobuf、trift、avro等)
如果没有,是否可以随请求发送所需的ElasticSearch映射?(我不能使用模板文件,因为我也没有对日志库的文件访问权限。我有数百个不同的对象,这使得它不切实际。)
编辑:我不能为每个字段指定变异逻辑。它们有数百个。您可以向配置文件中添加一个。Elasticsearch字段将自动映射到相应的类型。就你而言:
input {
http
{
host => "0.0.0.0"
port => 9600
codec => json
}
}
filter {
mutate { convert => ["my_field", "integer"]}
}
output {
elasticsearch {
hosts => ["elasticsearch:9200"]
}
stdout { codec => rubydebug }
}
我不想为所有字段逐个指定转换,因为我有几十个对象和数百个字段。