清理elk日志

清理elk日志问题描述 对于免费版本的 elk 默认情况会保留全部数据 如果不及时清理 生产环境 3 个月的累计数据量为 27G 平均每月增加 9G 本文讲解如何定期清理 elk 日志 解决办法 1 创建脚本 vi rm es log sh chmod x

大家好,我是讯享网,很高兴认识大家。

问题描述:

对于免费版本的elk,默认情况会保留全部数据,如果不及时清理,生产环境3个月的累计数据量为27G,平均每月增加9G,本文讲解如何定期清理elk日志;

解决办法

1)创建脚本

vi rm_es_log.sh chmod +x rm_es_log.sh 

讯享网

默认只保留最近7天的日志,可以传入参数清理其他时间的日志;
我的elasticsearch有权限控制,如果无密码方式登录,需要去掉-u参数

讯享网#!/bin/sh # # File Name: rm_es_log.sh # Version: V1.0 # Author: hury # Created Time : 2019-09-09 12:26:14 # IP=服务器IP CURRENT_DIR=$PWD LOG_DIR=$CURRENT_DIR/del_es_index.log DAYS=7 if [ "$#" -eq "1" ];then DAYS=$1 fi echo "will delete es logs :" `date -d "$DAYS days ago" +%Y.%m.%d` curl -XGET "http://$IP:9200/_cat/shards" -u 用户名:密码 |grep $IP |awk '{print $1}' |grep `date -d "$DAYS days ago" +%Y.%m.%d` |uniq > $CURRENT_DIR/index_name.tmp for index_name in `cat $CURRENT_DIR/index_name.tmp` do curl -XDELETE http://$IP:9200/$index_name -u 用户名:密码 | grep true if [ $? -eq 0 ];then echo "${index_name} delete success." >> $LOG_DIR else echo "${index_name} delete error." >> $LOG_DIR fi Done 

2)添加计划任务

linux下添加计划任务:


讯享网

0 0 1 * * * /PATH_TO_SCRIPT/rm_es_logs.sh >/dev/null 2>&1 

windows下计划任务:
上述任务如何在windows下执行,首先需要安装git软件,然后配置计划任务。

–END–

小讯
上一篇 2025-01-15 21:03
下一篇 2025-03-31 17:35

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/20139.html