本文配置为 ELK 即(Elasticsearch、Logstash、Kibana)5.5.1。
Elasticsearch 能够自动检测字段的类型并进行映射,例如引号内的字段映射为 String,不带引号的映射为数字,日期格式的映射为日期等等,这个机制方便了我们快速上手 ELK,但是后期我们经常需要对一些特定的字段进行定制,之前本人有一篇文章进行这方面的尝试Logstash中如何处理到ElasticSearch的数据映射,但对于默认映射规则没有介绍,本文就来探讨一些默认的动态映射规则。
开始之前
先拿一个 logstash 的配置文件来看一下
1 | output { |
再看一个ES模板配置文件
1 | { |
这里关注几个属性index
、template_name
、以及模板文件中的template
。index
是索引的名称,我们经常会有诸如index => "logstash-%{+YYYY.MM.dd}”
这样的索引名称,可以按照日期来分割不同的索引。template_name
对应的是模板名称,template
这是比较关键的,因为决定了索引是否能够匹配到模板配置,这里应该与index
相匹配。比如固定的 index 名称,这里就可以是固定名称。对于按日期分隔的,可以使用通配符,例如logstash-*
。
我就是因为没搞明白这几个属性的对应关系,导致自己的配置没有生效查了很长时间。