ElasticSearch设置日志保存时间-自动删除

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": {}              
			}
		}
      }
    }
}

 


版权声明:本文为yiyiatgis原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。