博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用Logstash创建ES映射模版并进行数据默认的动态映射规则
阅读量:2240 次
发布时间:2019-05-09

本文共 1839 字,大约阅读时间需要 6 分钟。

本文配置为 ELK 即(Elasticsearch、Logstash、Kibana)5.5.1。

Elasticsearch 能够自动检测字段的类型并进行映射,例如引号内的字段映射为 String,不带引号的映射为数字,日期格式的映射为日期等等,这个机制方便了我们快速上手 ELK,但是后期我们经常需要对一些特定的字段进行定制,之前本人有一篇文章进行这方面的尝试,但对于默认映射规则没有介绍,本文就来探讨一些默认的动态映射规则。

开始之前

先拿一个 logstash 的配置文件来看一下

output {  elasticsearch {    hosts => “localhost:9200"    index => "my_index"    template => "/data1/cloud/logstash-5.5.1/filebeat-template.json"    template_name => "my_index"    template_overwrite => true  }  stdout { codec => rubydebug }}

再看一个ES模板配置文件

{  "template" : "logstash*",  "settings" : {    "index.number_of_shards" : 5,    "number_of_replicas" : 1,    "index.refresh_interval" : "60s"  },  "mappings" : {    "_default_" : {       "_all" : {"enabled" : true},       "dynamic_templates" : [ {         "string_fields" : {           "match" : "*",           "match_mapping_type" : "string",           "mapping" : {             "type" : "string", "index" : "not_analyzed", "omit_norms" : true, "doc_values": true,               "fields" : {                 "raw" : {"type": "string", "index" : "not_analyzed", "ignore_above" : 256,"doc_values": true}               }           }         }       } ],       "properties" : {         "@version": { "type": "string", "index": "not_analyzed" },         "geoip"  : {           "type" : "object",             "dynamic": true,             "path": "full",             "properties" : {               "location" : { "type" : "geo_point" }             }         }       }    }  }}

这里关注几个属性indextemplate_name、以及模板文件中的 templateindex是索引的名称,我们经常会有诸如 index => "logstash-%{+YYYY.MM.dd}”这样的索引名称,可以按照日期来分割不同的索引。template_name对应的是模板名称,template这是比较关键的,因为决定了索引是否能够匹配到模板配置,这里应该与 index相匹配。比如固定的 index 名称,这里就可以是固定名称。对于按日期分隔的,可以使用通配符,例如logstash-*

我就是因为没搞明白这几个属性的对应关系,导致自己的配置没有生效查了很长时间。

欢迎关注我的微信公众号

参考资料

1、
2、

转载于:https://www.cnblogs.com/cocowool/p/elk_dynamic_templates.html

你可能感兴趣的文章
Java中的IO流
查看>>
java中的关键字
查看>>
如果某个方法是静态的,它的行为就不具有多态性
查看>>
优化Hibernate所鼓励的7大措施
查看>>
Java 8系列之重新认识HashMap
查看>>
HashMap 、 ArrayList、String 重写了equals方法 而Object类(比如User)没有重写
查看>>
Servlet的生命周期
查看>>
Object中的getClass()返回的是当前运行的类
查看>>
加载驱动程序的方法
查看>>
深入理解java异常处理机制
查看>>
object类的基本方法
查看>>
回答阿里社招面试如何准备,顺便谈谈对于Java程序猿学习当中各个阶段的建议
查看>>
Dubbo分布式服务框架入门(附工程)
查看>>
两年Java开发工作经验面试总结
查看>>
作为Java面试官--谈谈一年来的面试总结
查看>>
两年Java程序员面试经
查看>>
面试心得与总结---BAT、网易、蘑菇街
查看>>
如何面试有2年java工作经验的应聘人员
查看>>
Java实现简单的递归操作
查看>>
面试Java程序员需具备的11个技能
查看>>