概述

记录自己在工作中将生产的数据按月保存在ES中(通过logstash采集kafka数据到ES),由于生产环境数据量比较庞大(一天的日志量大概在2500万条左右),为了后期减轻服务器压力,方便我们维护,所以需要对我们的日志进行处理,按月建立不同的ES索引库,能够查询最近6个月的日志,关闭前6个月不用的日志。

创建模板

如果用户每次新建一个索引的时候都需要手动创建mapping非常麻烦,es内部维护了template,template定义好了mapping,只要index的名称被template匹配到,那么该index的mapping就按照template中定义的mapping自动创建。而且template中定义了index的shard分片数量、replica副本数量等等属性。

模板样例

{"order": 0,                               // 模板优先级"template": "sample_info*",               // 模板匹配的名称方式"settings": {...},                        // 索引设置"mappings": {...},                        // 索引中各字段的映射定义"aliases": {...}                          // 索引的别名
}

settings定义了索引的属性,包括分片数量、副本数量、写入flush时间间隔。

"settings": {"index": {"refresh_interval": "10s",//每10秒刷新"number_of_shards" : "5",//主分片数量"number_of_replicas" : "2",//副本数量"translog": {"flush_threshold_size": "1gb",//内容容量到达1gb异步刷新"sync_interval": "30s",//间隔30s异步刷新(设置后无法更改)"durability": "async"//异步刷新}}}

编写template,写入es

通过命令 put _template/[template名]{……}命令写入es

通过命令 get_template/[template名]查看是否写入template成功。如果template编写错误重新执行put命令覆盖即可

附 自己的template

PUT /_template/template_access_log
{ "template": "poc*","settings": {"index": {"refresh_interval": "10s","number_of_shards" : "5","number_of_replicas" : "1","translog": {"flush_threshold_size": "1gb","sync_interval": "30s","durability": "async"}}},                               "mappings": {              "doc": {           "dynamic_templates": [                          {                                               "string_as_keyword": {                   "match_mapping_type": "string", "mapping": {                      "type": "keyword"             }                                   }                                       }                                           ],                                              "properties": {     "TRANSAMOUNT": {       "type": "double"   },"consumeTime": {       "type": "integer"   },"transTime": {       "type": "date",   "format": "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis" }}  }      },"aliases" : {"poc" : {}}}

logstash6.5.4配置文件修改

input {kafka{group_id=> "logstash_bkq_test001"topics=> "test_bkq" bootstrap_servers=> "192.168.8.21:9092" key_deserializer_class=> "org.apache.kafka.common.serialization.IntegerDeserializer"value_deserializer_class=> "org.apache.kafka.common.serialization.StringDeserializer"auto_offset_reset=> "latest"client_id=> "logstash_bkq_test001"}
}filter {json {source => "message"remove_field => ["message"]}
}output {elasticsearch {hosts => ["192.168.8.23:9200","192.168.8.24:9200","192.168.8.25:9200"]index => "poc%{+yyyyMMdd}"user => "elastic"password => "******"}
}

logstash往ES灌数据的时候按照index => "poc%{+yyyyMMdd}" 灌数据。

Elasticsearch 索引模板相关推荐

  1. elasticsearch索引模板

    创建索引模板 索引模板就是创建好一个索引参数设置(settings)和映射(mapping)的模板,在创建新索引的时候指定模板名称就可以使用模板定义好的参数设置和映射.例如: PUT _templat ...

  2. 【Elasticsearch】Elasticsearch 索引 模板 template

    文章目录 1.概述 1.1 模板样例 1.1.1 settings 2.创建索引模板 2.1 es 6 创建索引模板 2.2 es 7.6 创建索引模板 3.案例 3.0 索引模板的匹配 3.1 定义 ...

  3. 【Elasticsearch】Elasticsearch 索引 索引模板 生命周期 关系

    文章目录 1.三者的关系 1.1 索引设置的角度 生命周期 1.2 模板 索引 1.三者的关系 1.1 索引设置的角度 生命周期 [Elasticsearch]Elasticsearch 索引生命周期 ...

  4. Elasticsearch生命周期策略ilm_policy、索引模板template管理(一)

    生命周期和模板都是为了优化ES性能的,假如ES是一个小学校,数据是一个个入学的小学生,那么生命周期就是一二三年级,用生命周期制定的规则来管理学生何时进入下一个年级,1年级新学生允许他们随意玩耍,支持数 ...

  5. Elasticsearch索引生命周期管理方案

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 一.前言 在 Elasticsearch 的日常中,有很多 ...

  6. Elasticsearch——Templates 模板

    2019独角兽企业重金招聘Python工程师标准>>> Elasticsearch--Templates 模板 博客分类: java 搜索引擎,爬虫 刚开始的时候,每次实验都去改/e ...

  7. Elasticsearch - 索引管理

    创建一个索引 我们已经通过索引一篇文档创建了一个新的索引 . 这个索引采用的是默认的配置,新的字段通过动态映射的方式被添加到类型映射. 索引模板 Elasticsearch 不要求你在使用一个索引前创 ...

  8. ES索引模板——就是在新建索引时候指定的正则匹配来设置mapping而已,对于自动扩容有用...

    索引模板 扩容设计 » 索引模板 Elasticsearch 不要求你在使用一个索引前创建它. 对于日志记录类应用,依赖于自动创建索引比手动创建要更加方便. Logstash 使用事件中的时间戳来生成 ...

  9. elasticsearch 索引_Elasticsearch系列---索引管理

    概要 Elasticsearch让索引创建变得非常简单,只要索引一条新的数据,索引会自动创建出来,但随着数据量的增加,我们开始有了索引优化和搜索优化的需求之后,就会发现自动创建的索引在某些方面不能非常 ...

最新文章

  1. 协议详解_I2C协议详解
  2. 某高校刚入职的青年教师工资曝光!
  3. 网络编程之 application/x-www-form-urlencoded MIME编码
  4. excel公式:用countif、match、index合并同类项
  5. 二分查找的平均查找长度详解【转】
  6. Windows 11 即将发布,微软“强推” Edge 浏览器?
  7. 新版ubuntu16.04安装旧版商店与flash
  8. 固定资产管理系统php源码,固定资产管理系统源代码
  9. Java 正则表达式 匹配英文字母
  10. Unix/Linux系统中的inode总结
  11. Kruskal重构树 学习笔记
  12. C语言字节对齐规则总结
  13. 12864与24C04的原理和使用方法——以电子密码锁为例(下篇)
  14. php steam 第三方登录,Steam第三方授权登录异常 《绝地求生》国服绑定中招
  15. 【程序人生】程序员成长历程的四个阶段
  16. java.exe应用程序出错_EXPLORER.EXE应用程序错误的原因和解决办法
  17. 流量卡之家:什么是无线物联网传感器以及它们为何有用?
  18. 使用英文Google搜索
  19. 中国水解乳清蛋白行业市场供需与战略研究报告
  20. 摩托罗拉 V360i的使用心得

热门文章

  1. HD2500显卡驱动linux,Intel HD Graphics 2500/4000驱动免费版
  2. 星加坡php开发_新加坡互联网Offer求建议 - 找工作啦(Job)版 - 北大未名BBS
  3. [视觉概述] 机器视觉应用方向、项目流程及学习思路总结
  4. zencart1.55stripe信用卡内嵌支付获取卡号
  5. Android——为图片增加水印,并且保存到图库刷新
  6. java把汉字转换成拼音_Java实现汉字转换为拼音
  7. vue实现变态表格表头和列固定
  8. mysql HA方案: MHA
  9. 《编译原理-龙书》练习第3章
  10. sqlserver设计表不允许保存更改,阻止保存要求重新创建表的更改