ELK日志系统通过系统crontab命令设置定期删除日志索引

1、需求

  在前面部署的ELKB日志系统,在实际应用过程中,每天都会产生大量的日志信息,尤其是在开发环境,由于日志级别比较低,每天都会产生大量的日志。为了避免ELK系统过度消耗磁盘和内存,需要考虑定期删除Elasticsearch中的相关日志索引。这里通过Linux系统的crontab命令,并结合Elasticsearch的api实现定期删除日志的目的。

2、编写删除日志索引的脚本

1>、编辑deleteEsData.sh文件

#!/bin/bash
#filename:deleteEsData.sh
today=`date +%Y.%m.%d`;
echo "今天是${today}"
# 获得要删除的日期
# 不指定参数时,默认删除3天前以tomcat-开头的数据(因为是凌晨删除,所以不含当天)
daynum=3
esday=`date -d '-'"${daynum}"' day' +%Y.%m.%d`;
echo "${daynum}天前是${esday}"
curl -XDELETE http://192.168.0.182:9200/tomcat-${esday}
echo "${today}执行完成,tomcat-${esday}文件已经被删除或不存在."

其中,“curl -XDELETE http://192.168.0.182:9200/tomcat-${esday}”是通过调用Elasticsearch的API实现删除指定日期的目的。需要注意的是,Elasticsearch的IP和端口号,同时需要注意索引的格式,我这里使用"tomcat-yyyy.mm.dd"的格式,如下所示:
在这里插入图片描述
2>、设置脚本权限

chmod 777 deleteEsData.sh

3>、通过执行脚本,验证是否正确。

[root@hostnode soft]# ./deleteEsData.sh 
今天是2020.07.09
3天前是2020.07.06
{"acknowledged":true}2020.07.09执行完成

如果执行脚本出现“permission denied”错误,一般都是因为第二步设置权限没有执行或者执行不正确造成的。

3、执行crontab命令,设置定期任务

1>、查看crontab服务状态

service crond status

在这里插入图片描述

2>、设置定时计划
首先,如下命令,进入编辑状态(每天晚上两点执行删除日志命令)

crontab –e

然后,输入定时的脚本,如下所示,并保存。

0 2 * * * sh /usr/local/soft/deleteEsData.sh >> /usr/local/soft/deleteEsDataRun.log>&1

在这里插入图片描述
3>、查看定时任务

crontab -l

在这里插入图片描述

4、设置过程中的异常

1>、运行deleteEsData.sh报错-bash: ./deleteEsData.sh: Permission denied。

权限不够,需要执行下面命令即可。

chmod 777 deleteEsData.sh
#或
chmod +x  deleteEsData.sh

2>、设置定时计划时,出现/tmp/crontab bad minute。

"/tmp/crontab.sdXvj4":5: bad minute

errors in crontab file, can't install.

Do you want to retry the same edit? 

出现上述错误时,一般都是crontab格式错误,即没有按照规则写。修改完显示“crontab: installing new crontab”表示成功。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姠惢荇者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值