概述

记录自己在工作中将生产的数据按月保存在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. Shiro第一个程序:官方快速入门程序Qucickstart详解教程
  2. POJ2186 强联通
  3. python 处理xml pandas_Python数据处理分析,解决pandas中所有的Excel疑难杂症(上)
  4. vue 编辑弹框,编辑页面,列表数据也会跟着变
  5. python读取不到文件怎么办_Python从子目录中找不到的目录文件读取文件(在那里)...
  6. window10安装黑苹果
  7. 基于AIML2.0写一个机器人
  8. 关于路由器,锐捷破解,mentohust的使用
  9. 集群通信组件Tribes之整体介绍
  10. 预约移民后服务器不显示,玩家预约凌烟阁服务器瞬间成功,这算不算被几率
  11. PySimpleGUI:快速开始
  12. 如何有效地帮助新人融入项目中
  13. 表的创建、修改与删除
  14. 浏览器页面渲染机制-前端原理剖析
  15. 六年级下计算机课ppt课件ppt课件,人教版六年级数学下册
  16. 战斗在风口:社区团购从0到1实战运营笔记
  17. 面试 -- 操作系统与计算机网络
  18. XTU数据结构(C语言版)
  19. Java数据结构之基于ArrayList编写大众麻将和扑克牌洗牌小练习
  20. MIT 6.002电路与电子学笔记

热门文章

  1. 美颜sdk是如何美化皮肤的?
  2. 邮件 发送excel表格做正文
  3. 服务器上传excel文件并读取数据,asp.net上传Excel文件并读取数据的实现方法
  4. 给VB.NET开发者的46个忠告
  5. Linux从一般用户切换到root用户
  6. 【期末复习笔记】知识产权法——著作权、专利法、商标权
  7. 分销系统具有哪些大优势?
  8. 互联网晚报| 8月18日|未婚已育女性办理生育津贴不需要结婚证;拼多多将上线跨境电商平台;小米汽车将采用宁德时代麒麟和比亚迪刀片...
  9. 转:SQL Server:获取当前日期是本月的第几周
  10. 本周c++学习小结和心得