团队介绍
我们是光大科技有限公司智能云计算部云计算团队容器云项目组,致力于容器技术在金融行业的落地与实践,以容器云助力金融行业科技转型。我们的团队拥有经验丰富的容器与云原生领域研发工程师和专家,将不定期分享容器和云原生行业的原创技术文章和实践经验,共同探索与见证云原生时代金融领域的前沿技术和发展趋势。
//
统一日志中心是高效的日志收集和分析系统,可以提供实时日志查询以及海量的日志存储。EFK作为日志中心的常用架构,其中的Elasticsearch占据着重要的地位。
由于章节有限,本文主要介绍Elasticsearch的索引生命周期管理功能。
Elasticsearch介绍
Elasticsearch是一个开源的分布式、RESTful风格的搜索和数据分析引擎,可用于时序数据(如日志、监控数据)的管理和存储。对于一个全文搜索引擎来说,索引是灵魂。
这里先了解下什么是索引。索引(index)是具有相似特性的文档(Document)集合,索引就相当于MySQL中的数据库,文档相当于MySQL中的表。日志数据可以通过索引名称进行标识,并引用索引名称完成日志数据的创建、搜索、更新及删除操作。
提到日志管理,不得不说“hot-warm-cold”分层体系架构,该架构常用于日志或指标类的时序数据,将节点分为hot、warm、cold节点。hot节点存放用户最关心的热数据,提供数据写入和查询;warm节点或cold节点存放用户不太关心或者关心优先级低的暖数据或冷数据,仅提供数据查询不再写入数据。这样做可以合理分配资源,如CPU、内存、硬盘,提高数据查询效率。这种架构实现的本质是对索引的管理。
所以说,在海量数据场景下,索引管理是非常有必要,同时也是非常有挑战性的事情。而索引的管理可以交给ES的索引生命周期管理功能。
索引生命周期管理介绍
索引生命周期管理(Index Lifecycle Management,ILM),是在ES 6.6首次引入并在6.7版正式推出的一项功能,负责索引从设置、创建、打开、关闭到删除的全生命周期过程的管理。比如,我们可以使用ILM执行以下操作:
当某索引达到一定容量或日志条数后,创建新索引;
按时间(每天、每周或每月)创建一个新索引并归档先前的索引;
删除旧索引以执行数据保留策略。
ILM定义了四个索引生命周期阶段:
Hot:主要处理数据的实时写入和索引查询;
Warm:不再写入数据,但仍提供查询;
Cold:不再写入数据,提供很少的查询;
Delete:不再写入数据,数据将被删除。
索引生命周期管理场景举例