ELK数据清理脚本

网友投稿 862 2022-11-04

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

ELK数据清理脚本

ELK为目前主流的日志分析系统,主要由三个组件组成,如下:

Elasticsearch :是一个搜索和分析引擎Logstash :服务器端数据处理管道,可以同时从多个数据源采集日志数据,并转换数据,最后将数据发送到Elasticsearch等存储库中。Kibana :提供可视化界面,可以让用户在 Elasticsearch 中使用图形和图表对数据进行可视化,更方便地查看日志信息。

ELK会每天产生一个日志索引,并通过kibana来进行展示,时间长了后就会产生大量的索引数据,如果不进行清理会占用大量的磁盘空间,因此需要定期对数据进行清理。

下面的例子为通过shell脚本方式对ELK数据进行清理,脚本主要功能如下:

根据提示输入要清理的年份根据提示输入要清理的月份

脚本内容如下:

#!/bin/bash: ' @function: clean elk log @author: gongguan @date: 2022-04-01 @说明: 本例子中只写出了2022年的,后续可以继续扩展到2023、2024年等,清理时候根据提示输入年份 和月份即可 @注意:函数要在脚本内容上方,否则调用会报错'cleanLog(){ for i in $(curl 'localhost:9200/_cat/indices?v' | awk '{print $3}') do result=$(echo $i | grep ''${month}'') if [ -n "${result}" ];then curl -XDELETE http://localhost:9200/${result} fi done}read -p "请输入要清楚的年份(2022/2023):" yearcase $year in2022) read -p "请输入要清除的月份(01/02/03....):" month case $month in 01) cleanLog ;; 02) cleanLog ;; 03) cleanLog ;; 04) cleanLog ;; 05) cleanLog ;; 06) cleanLog ;; 07) cleanLog ;; 08) cleanLog ;; 09) cleanLog ;; 10) cleanLog ;; 01) cleanLog ;; 12) cleanLog ;; *) echo "输入的月份不匹配" esac;;*) echo "年份不匹配,请重新输入.....";;esac

脚本说明:

第10-19行:通过for循环来遍历查询到的日志名字,并通过grep来搜索到指定的月份,判断是否存在内容,如果存在进行清理第20、23行:接收从命令行输入的年份以及月份第21行-最后:嵌套case结构,用来匹配年份以及月份

上一篇:软件测试培训之测试用例编写和设计上的问题
下一篇:软件测试培训之测试用例选型和转型的注意事项
相关文章

 发表评论

暂时没有评论,来抢沙发吧~