由于ELK比较吃资源所以日志不能一直保留,必须有一个清理策略

利用索引的生命周期来实现

参考自:

https://www.cnblogs.com/wei325/p/16101258.html

https://www.5axxw.com/questions/content/g3xpeh

 

所有命令均在kibana的dev tools的console中执行

第一步 添加生命周期策略 (7d表示删除7天前的索引)

PUT _ilm/policy/生命周期策略名称
{
  "policy": {                       
    "phases": {
      "delete": {
        "min_age": "7d",           
        "actions": {
          "delete": {}              
        }
      }
    }
  }
}

第二步 创建索引模板(log-*表示匹配log-开头的索引)

PUT _template/索引模板名称
{
  "index_patterns": ["log-*"],                 
  "settings": {
    "index":{
      "lifecycle":{
        "name":"生命周期索引名称",
        "indexing_complete":true
      }
    }
  }
}

第三步测试(创建一个索引,看下索引是否自动跟上了生命周期策略)

PUT log-test

以上是针对新建索引的方案,对于已存在的索引,需要手动设置一遍生命周期策略匹配到指定索引上

PUT log-*/_settings
{
  "index": {
    "lifecycle": {
      "name": "生命周期策略名称"
    }
  }
}