elasticsearch ELK堆栈-自定义自动生成的字段映射,elasticsearch,logstash,kibana,geoip,elasticsearch,Logstash,Kibana,Geoip" /> elasticsearch ELK堆栈-自定义自动生成的字段映射,elasticsearch,logstash,kibana,geoip,elasticsearch,Logstash,Kibana,Geoip" />

elasticsearch ELK堆栈-自定义自动生成的字段映射

elasticsearch ELK堆栈-自定义自动生成的字段映射,elasticsearch,logstash,kibana,geoip,elasticsearch,Logstash,Kibana,Geoip,我有一个非常基本的ELK堆栈设置,并通过syslog将日志传递给它。我使用内置的grok模式将日志拆分到字段中。但是字段映射是由logstash elasticsearch插件自动生成的,我无法自定义它们 例如,我使用logstash配置文件创建了一个名为“dst geoip”的新字段(见下文): 我想将其指定为无法从Kibana编辑的类型“geo_point”。在线文档提到使用ElasticSearchAPI手动更新各自索引上的映射。但Logstash会生成许多指数(每天一个)。如果我更新一个

我有一个非常基本的ELK堆栈设置,并通过syslog将日志传递给它。我使用内置的grok模式将日志拆分到字段中。但是字段映射是由logstash elasticsearch插件自动生成的,我无法自定义它们

例如,我使用logstash配置文件创建了一个名为“dst geoip”的新字段(见下文):


我想将其指定为无法从Kibana编辑的类型“geo_point”。在线文档提到使用ElasticSearchAPI手动更新各自索引上的映射。但Logstash会生成许多指数(每天一个)。如果我更新一个索引,映射在未来的索引中会保持不变吗?

您要找的是一个“.”

您要找的是一个“.”

就是这样!你的回答把我带进了一个兔子洞。最后,我找到了符合我想做的事情。但似乎没有一种简单的方法可以像logstash conf文件那样测试模板json文件。我能够强制一种字段类型的映射,但当我添加另一种字段类型时,它并没有按预期工作。对如何开发模式文件有何建议或最佳做法?对于测试,请将模板应用于非生产索引。请记住,字段映射在创建索引后无法更改,因此请继续删除测试索引,直到所有内容都按您希望的方式运行。就是这样!你的回答把我带进了一个兔子洞。最后,我找到了符合我想做的事情。但似乎没有一种简单的方法可以像logstash conf文件那样测试模板json文件。我能够强制一种字段类型的映射,但当我添加另一种字段类型时,它并没有按预期工作。对如何开发模式文件有何建议或最佳做法?对于测试,请将模板应用于非生产索引。请记住,字段映射在创建索引后无法更改,因此请继续删除测试索引,直到所有内容都按您希望的方式运行。
geoip {
  database => "/usr/local/share/GeoIP/GeoLiteCity.dat" ### Change me to location of GeoLiteCity.dat file
    source => "dst_ip"
    target => "dst_geoip"
    fields => [ "ip", "country_code2", "country_name", "latitude", "longitude","location" ]
    add_field => [ "coordinates", "%{[dst_geoip][latitude]},%{[geoip][longitude]}" ]
    add_field => [ "dst_country", "%{[dst_geoip][country_code2]}"]
    add_field => [ "flow_dir", "outbound" ]
}