es数据定时清理_ElasticSearch定时删除数据(非时间结尾规律索引)

首先:

对于针对性的索引清理定期数据可行方法:

1.手动清理

可基于kibana索引管理进行索引数据清理

2.api清理

curl -XDELETE 'http://ip:端口/索引'

3.脚本清理

#!/bin/sh

# example: sh delete_es_by_day.sh logstash-kettle-log logsdate 30

index_name=$1

daycolumn=$2

savedays=$3

format_day=$4

if [ ! -n "$savedays" ]; then

echo "the args is not right,please input again...."

exit 1

fi

if [ ! -n "$format_day" ]; then

format_day='%Y%m%d'

fi

sevendayago=`date -d "-${savedays} day " +${format_day}`

curl -X POST "ip:端口/${index_name}/_delete_by_query?pretty" -H "Content-Type: application/json" -d '

{

"query": {

"range": {

"'${daycolumn}'": {

"from": null,

"to": '${sevendayago}'

}

}

}

}'

echo "ok"

#/bin/bash

# 定时清理微服务子系统日志

# 只保留10天内的日志索引

savedays=$1

ip=$2

port=$3

LAST_DATA=`date -d "-${savedays} days" "+%Y.%m.%d"`

curl -XDELETE 'http://'${ip}':'${port}'/*-'${LAST_DATA}'*'

4.基于脚本定时任务清理数据

将脚本添加到定时任务,定期执行

0 0 * * * root /opt/elk/cron/delete_log.sh ct-oa-operationlog createDate 15

05 0 * * * root /opt/elk/cron/delete_log.sh ct-oa-loginlog landingTime 30

10 0 * * * root /opt/elk/cron/delete_log.sh ct-dmp-operationlog createDate 15

30 0 * * * root /opt/elk/cron/es_index_clear.sh 15 ip 端口

6.基于索引生命周期ILM

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值