ElasticSearch提供索引生命周期管理(6.6版本开始),参考地址:
https://www.elastic.co/guide/en/elasticsearch/reference/6.6/_setting_up_a_new_policy.html
以auditbeat审计日志的管理为例来介绍elasticsearch的生命周期管理策略:
ElasticSearch索引生命周期管理
实际场景中我们一般为索引创建一个模板,以auditbeat-7.9.2为例:
GET _template/auditbeat-7.9.2
系统默认创建了auditbeat-7.9.2-*的索引配置,如果索引名称为auditbeat-7.9.2-*将使用该模板的配置,这样不用单独为每个索引设置一个参数,同一类索引可以公用一个配置,很方便。在模板配置里制定了lifecycle,如红色框所示,定义了一个名为auditbeat的生命周期策略,通过命令我们可以看到auditbeat的配置:
GET _ilm/policy/auditbeat
以上配置说明auditbeat的hot索引默认大小超过50GB或时长超过30天之后就会开始分片。默认分片名称auditbeat-7.9.2-yyyy.mm.dd24-000000(数字递增)。
修改日志保存时间-自动删除
修改命令:
PUT _ilm/policy/auditbeat
{
"policy" : {
"phases" : {
"hot" : {
"min_age" : "0ms",
"actions" : {
"rollover" : {
"max_size" : "50gb", #单个索引超过50GB开始分片
"max_age" : "30d" #单个索引保留数据时间超过30天开始分片
}
}
},
"delete": {
"min_age": "60d", #超过60天开始删除
"actions": {
"delete": {}
}
}
}
}
}