当前位置: 首页 > article >正文

ELK配置索引清理策略

在ELFK(Elasticsearch, Logstash,Filebeat, Kibana)堆栈中配置索引清理策略是一个常见的需求,因为日志数据会随着时间的推移而积累,占用大量的存储空间。以下是一些配置索引清理策略的方法:

1. 使用索引生命周期管理(ILM)

  • 首先,创建一个索引生命周期策略。例如,可以创建一个策略在索引超过7天后自动删除:
    PUT _ilm/policy/my_policy
    {
      "policy": {
        "phases": {
          "delete": {
            "min_age": "7d",
            "actions": {
              "delete": {}
            }
          }
        }
      }
    }
    
  • 然后,创建一个索引模板并将该策略应用到匹配特定模式的索引上:
    PUT _template/my_template
    {
      "index_patterns": ["log-*"],
      "settings": {
        "index": {
          "lifecycle": {
            "name": "my_policy"
          }
        }
      }
    }
    
  • 对于已经存在的索引,可以手动将生命周期策略应用到它们上面:
    PUT log-*/_settings
    {
      "index": {
        "lifecycle": {
          "name": "my_policy"
        }
      }
    }
    

2. 使用Cron作业或脚本定期清理

  • 可以编写一个Shell脚本,定期运行以删除旧的索引。例如,以下脚本可以删除7天前的索引:
    #!/bin/bash
    eshost='127.0.0.1:9200'
    dtime=`date -d "7 day ago" +%Y.%m.%d`
    echo `date` 'start clean ' $dtime >> clean-log.log
    indexs=`curl -s 'http://'$eshost'/_cat/indices?v' | awk '$3~/^logstash/{print $3}'`
    for index in $indexs; do
      if [[ $index =~ logstash- ]] && [[ $index < $dtime ]]; then
        echo $index >> clean-log.log
        curl -X DELETE "http://$eshost/$index" > /dev/null 2>&1
      fi
    done
    

3. 使用Logstash的输出插件配置

  • 在Logstash的配置中,可以设置输出到Elasticsearch时自动应用ILM策略。这通常在Logstash的配置文件中完成,通过设置ilm_enabledilm_overwrite选项。

4. 使用Kibana的Dev Tools进行管理

  • 在Kibana的Dev Tools控制台中,可以直接运行上述的ILM相关命令来管理索引的生命周期策略。

请注意,配置索引清理策略时,需要确保不会误删正在使用或需要保留的数据。在生产环境中应用这些策略之前,应该在测试环境中进行充分测试。上述方法中的命令和策略可以根据实际需求进行调整。


http://www.kler.cn/a/413242.html

相关文章:

  • Paddle Inference部署推理(八)
  • d3-contour 生成等高线图
  • 良好的并发编程习惯之封闭(Confinement)
  • Pydantic 数据验证
  • 如何通过ChatGPT提高自己的编程水平
  • 深度神经网络模型压缩学习笔记二:离线量化算法和工具、实现原理和细节
  • ts 非空断言
  • 跨平台应用开发框架(2)----Qt(窗口篇)
  • Linux 下自动化之路:达梦数据库定期备份并推送至 GitLab 全攻略
  • 开箱即用!合合信息的智能文档处理“百宝箱”
  • 华三堆叠配置实验
  • Java对象集合使用Java 8的Stream API合并数据
  • 华为云国内版与国际版的差异
  • ML 系列:第 31 节— 机器学习中的协方差和相关性
  • 01-go入门
  • 游戏引擎学习第21天
  • 设计模式:12、中介者模式
  • 跨域问题?同源策略大全
  • 代码随想录算法训练营第十一天(LeetCode150.逆波兰表达式求值;LeetCode239.滑动窗口最大值;LeetCode347.前K个高频元素)
  • 欢迪迈手机商城:基于SpringBoot的多平台支持
  • Qt之详解QLockFile 文件锁
  • React的ts文件中通过createElement拼接一段内容出来
  • 以太事件解析 #7 事件侦听_02
  • 第四十篇 DDP模型并行
  • Android基本概念及控件
  • 23种设计模式-享元(Flyweight)设计模式