《Elastic Stack 实战手册》——三、产品能力——3.5 进阶篇——3.5.12.Monitoring及Central Management (6) https://developer.aliyun.com/article/1228346
索引生命周期
Elasticsearch 在 6.7 版本推出的索引生命周期管理(index lifecycle management,简称ILM),生命周期把索引分为四个阶段,Hot,Warm,Cold,Delete。这也是 Elastic 目前官方比较推荐的索引管理方法。
创建一个 Index Lifecycle policy
在 Kibana 上操作,依次点击 Mangement-> Stack Management -> Index Lifecycle Policies->Create policy,输入配置参数后,点击 Save as new policy 可以生成一个新的策略。
点击 Show request,可得到创建此 Policy 的请求语句
PUT _ilm/policy/team7_policy { "policy": { "phases": { "hot": { "min_age": "0ms", "actions": { "rollover": { "max_docs": 5 }, "set_priority": { "priority": 100 } } }, "delete": { "min_age": "10m", "actions": {} } } } }
在集群中验证创建的策略:
1、配置 lifecycle 检测时间
PUT _cluster/settings { "transient": { "indices.lifecycle.poll_interval": "5s" } }
默认为十分钟,为了测试效果,改为 5 秒钟。
2、创建索引模板
PUT _template/team7_template { "index_patterns": [ "my_team7*" ], "settings": { "number_of_shards": 1, "number_of_replicas": 1, "index.lifecycle.name": "team7_policy", "index.lifecycle.rollover_alias": "my_team7", "index.default_pipeline": "indexed_at" } }
索引以 my_team7-开头的自动采用 settings 的配置。
index.lifecycle.name 表示采用 team7_policy 的策略,
index.lifecycle.rollover_alias 表示创建使用该模版创建的索引
统一用 my_team7 的别名进行管理。
3、创建索引
PUT my_team7-000001 { "aliases": { "my_team7": { "is_write_index": true } } }
创建一个开始的索引,并设置当前索引可通过索引别名写入。
4、验证功能
一切准备就绪,我们开始验证
首先执行下面的新建文档操作5次
POST my_team7/_doc { "message": "this is team7 test" }
之后 Rollover 执行,新的索引创建,如下所示
10m 以后, my_team7-000001 删除至此,一个完整的 ILM Policy 执行的流程就结束了,而后续 my_team7-000002 也会按照这个设定进行流转。
索引快照和恢复
l console开发工具
○ console终端
○ Profiler分析
○ Grok调试工具
l 采集管理
○ Logstash管道
○ Beats集中管理
l 数据管理
○ 索引管理
○ 索引生命周期
○ 索引快照和恢复
创作人简介:
高冬冬,从事运维架构, 参与私有云平台运维体系平台开发,金融行业统一日志平台(PB级)的规划和建设,正在进行包含监控体系和智能运维的统一监控告警平台的规划和设计。
自 2016 年开始使用和研究 Elastic Stack 相关技术栈,擅长使用 Elastic Stack 解决日志分析和可观测性相关问题,对 PB 级日志平台的规划,部署,优化和运维有丰富的经验和实践,喜欢学习运用新技术,解决工作中问题和提高生产力。希望以后有更多的机会,分享输出更多有价值的东西给大家。