elk、定时删除elk日志脚本——shell

ES数据定期删除
如果不删除ES数据,将会导致ES存储的数据越来越多,磁盘满了之后将无法写入新的数据。这时可以使用脚本定时删除过期数据。
方法一、

#/bin/bash
#es-index-clear
#只保留某几天内的日志索引-5 days || 12 days ago
ST_LAST_DATA=date -d "-7 days" "+%Y.%m.%d"
UAT_LAST_DATA=date -d "-15 days" "+%Y.%m.%d"
PROD_LAST_DATA=date -d "-30 days" "+%Y.%m.%d"

#删除上个月份所有的索引
curl -XDELETE “http://192.168.180.6:9200/st-KaTeX parse error: Expected 'EOF', got '#' at position 17: …ST_LAST_DATA}" #̲curl -XGET "htt…{ST_LAST_DATA}”
curl -XDELETE “http://192.168.180.6:9200/uat-dev15-KaTeX parse error: Expected 'EOF', got '#' at position 18: …AT_LAST_DATA}" #̲curl -XGET "htt…{UAT_LAST_DATA}”
curl -XDELETE “http://192.168.180.6:9200/prod-admin-paas-KaTeX parse error: Expected 'EOF', got '#' at position 19: …OD_LAST_DATA}" #̲curl -XGET "htt…{PROD_LAST_DATA}”

#crontab -e添加定时任务:
#0 1 * * * /home/elk/clear/es-index-clear.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

可以视个人情况调整保留的天数,这里的ip和port同样设置为不存储数据的那台机器。该脚本只需要在ES中一台机器定时运行即可。

crontab -e添加定时任务:

0 1 * * * /search/odin/elasticsearch/scripts/es-index-clear.sh

1
2

每天的凌晨一点清除索引。
注意:保证crond服务是启动的
[root@server scripts]# service crond status
方法二、

#!/bin/bash

#删除ELK30天前的日志

DATE=date -d "30 days ago" +%Y.%m.%d

curl -s -XGET http://127.0.0.1:9200/_cat/indices?v| grep $DATE | awk -F ‘[ ]+’ ‘{print $3}’ >/tmp/elk.log

for elk in cat /tmp/elk.log

do

    curl  -XDELETE  "http://127.0.0.1:9200/$elk"

done

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

加入到定时任务

crontab -e

#每天凌晨1点定时清理elk索引

00 01 * * * bash /server/scripts/elk.sh &>/dev/null

1
2
3
4
5


| | | | |
| | | | ±---- 星期中星期几 (0 - 7) (星期天 为0)
| | | ±--------- 月份 (1 - 12)
| | ±-------------- 一个月中的第几天 (1 - 31)
| ±------------------- 小时 (0 - 23)
±------------------------ 分钟 (0 - 59)

————————————————
版权声明:本文为CSDN博主「常名先生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jiangbenchu/java/article/details/101273774

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
作为一名 Linux 运维工程师,你需要具备以下技能和知识: 1. 熟悉 Linux 操作系统:你需要掌握 Linux 基本命令,文件系统结构和权限管理等知识。 2. 熟悉网络协议和网络安全:你需要了解 TCP/IP 协议、DNS、HTTP 等常用网络协议,以及防火墙、VPN、SSL 等网络安全知识。 3. 熟悉常用的服务器软件和服务:你需要了解 Apache、Nginx、MySQL、PostgreSQL、Redis 等常用服务器软件和服务的配置和管理。 4. 熟悉自动化工具和脚本语言:你需要掌握 Shell、Python、Perl 等自动化工具和脚本语言的使用,以提高工作效率。 5. 熟悉监控和日志分析工具:你需要掌握 Zabbix、Nagios、ELK 等监控和日志分析工具的使用,以及常见的系统性能优化方法。 6. 熟悉虚拟化和容器技术:你需要了解 Docker、Kubernetes 等虚拟化和容器技术的使用,以便更好地管理和部署应用程序。 以下是一些学习路线建议: 1. 学习 Linux 基础知识:包括 Linux 基本命令、文件系统、权限管理等。 2. 学习网络知识:包括 TCP/IP 协议、DNS、HTTP 等常用网络协议,以及防火墙、VPN、SSL 等网络安全知识。 3. 学习服务器软件和服务:包括 Apache、Nginx、MySQL、PostgreSQL、Redis 等常用服务器软件和服务的配置和管理。 4. 学习自动化工具和脚本语言:包括 Shell、Python、Perl 等自动化工具和脚本语言的使用。 5. 学习监控和日志分析工具:包括 Zabbix、Nagios、ELK 等监控和日志分析工具的使用,以及常见的系统性能优化方法。 6. 学习虚拟化和容器技术:包括 Docker、Kubernetes 等虚拟化和容器技术的使用,以便更好地管理和部署应用程序。 7. 实践操作:通过实践操作,将所学的知识应用到实际工作中,不断提高技能和经验。 8. 参加培训或认证考试:通过参加培训或认证考试,可以加深对知识的理解和掌握程度,同时也能提高职业竞争力。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值