ELK学习笔记之Elasticsearch删除指定日期的数据(脚本+定时任务)
0x00 概述
目前使用的ES版本为6.3.x,经过长时间的积累,ES内数据越来越多,需要删除指定日志之前的日志。
例如只要求保留60天的日志,那么就要删除60天之前的所有索引和日志。
0x01 ES删除XX天之前的索引和数据
#!/bin/sh
# ES版本为6.3.x function delIndex()
{
#此处输入要删除的索引名字,例如要删除filebeat-xxx索引的日志,此处要输入‘filebeat-’
index_name=$1
# 此处输入要数据保留的天数,例如要保留最近60天的数据,此处要输入60
savedays=$2
# $3变量也是天数,例如你要保留60天的数据,此处输入90,就是会删除第60到90天这段时间的数据,60<=90
while [ $savedays -le $3 ]
do
# 此处是es内索引的日期格式,有的是2019.11.26,有的是2019-11-26
format_day='%Y.%m.%d'
#format_day='%Y-%m-%d' #此处通过date命令组成索引的时间戳部分,例如2019.11.26或者2019-11-26
sevendayago=`date -d "-${savedays} day " +${format_day}` #此处组成完整的es数据的索引,数据格式filebeat-2019.11.26或者filebeat-2019-11-26
index=$index_name$sevendayago
#echo $sevendayago
echo $index
curl -XDELETE "http://127.0.0.1:9200/${index}"
#exit 0 #删除完第60天的索引后,开始删除第61天的索引,直到第90天
savedays=`expr $savedays + 1`
done
} # 删除索引前,要关闭索引,然后再删除索引
# 逻辑与上面删除的逻辑一致
function closeIndex()
{
index_name=$1
savedays=$2
while [ $savedays -le $3 ]
do format_day='%Y.%m.%d'
#format_day='%Y-%m-%d'
sevendayago=`date -d "-${savedays} day " +${format_day}`
index=$index_name$sevendayago
#echo $sevendayago
echo $index
curl -XPOST "http://127.0.0.1:9200/${index}/_close?pretty"
#exit 0
savedays=`expr $savedays + 1`
done
} # 关闭第60天到第90天的索引
closeIndex ‘filebeat-’ 60 90 # 删除第60天到第90天的索引
deleteIndex ‘filebeat-’ 60 90
0x03 总结
可以将上面的shell内容做成脚本,加入crontab定时任务。
ELK学习笔记之Elasticsearch删除指定日期的数据(脚本+定时任务)的更多相关文章
- ELK学习笔记之ElasticSearch简介
0x00 什么是Elasticsearch Elasticsearch (ES)是一个基于 Lucene 的开源搜索引擎,它不但稳定.可靠.快速,而且也具有良好的水平扩展能力,是专门为分布式环境设计的 ...
- ELK学习笔记之Elasticsearch和Kibana数据导出实战
0x00 问题引出 以下两个导出问题来自Elastic中文社区. 问题1.kibana怎么导出查询数据?问题2:elasticsearch数据导出就像数据库数据导出一样,elasticsearch可以 ...
- ELK 学习笔记之 elasticsearch Shard和Segment概念
Shard和segment概念: 转载: http://blog.csdn.net/likui1314159/article/details/53217750 Shard(分片) 一个Shard就是一 ...
- ELK 学习笔记之 elasticsearch基本概念和CRUD
elasticsearch基本概念和CRUD: 基本概念: CRUD: 创建索引: curl -XPUT 'http://192.168.1.151:9200/library/' -d '{" ...
- ELK 学习笔记之 elasticsearch环境搭建
ELK概述: ElasticSearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等 Logstash是一 ...
- ELK学习笔记之Elasticsearch启动常见错误
问题出现的环境: OS版本:CentOS-7-x86_64-Minimal-1708 ES版本:elasticsearch-6.2.2 1. max file descriptors [4096] f ...
- ELK学习笔记之ElasticSearch的索引详解
0x00 ElasticSearch的索引和MySQL的索引方式对比 Elasticsearch是通过Lucene的倒排索引技术实现比关系型数据库更快的过滤.特别是它对多条件的过滤支持非常好,比如年龄 ...
- ELK 学习笔记之 elasticsearch启动时Warning解决办法
elasticsearch启动时Warning解决办法: 转载:http://www.dajiangtai.com/community/18136.do?origin=csdn-geek&dt ...
- ELK 学习笔记之 elasticsearch elasticsearch.yml配置概述
elasticsearch.yml配置概述: 设置集群名字 cluster.name 定义节点名称 node.name 节点作为master,但是不负责存储数据,只是协调. node.master: ...
随机推荐
- Libs - Blog签名
<div id="AllanboltSignature"> <p id="PSignature" style="padding-to ...
- python基础(17):正则表达式
1. 正则表达式 1.1 正则表达式是什么 正则表达式本身也和python没有什么关系,就是匹配字符串内容的一种规则. 官方定义:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符 ...
- mybatis动态sql和分页
mybatis动态sql foreach BookMapper.xml <select id="selectBooksIn" resultType="com.lin ...
- python爬虫三大解析库之XPath解析库通俗易懂详讲
目录 使用XPath解析库 @(这里写自定义目录标题) 使用XPath解析库 1.简介 XPath(全称XML Path Languang),即XML路径语言,是一种在XML文档中查找信息的语言. ...
- leaflet-webpack 入门开发系列二加载不同在线地图切换显示(附源码下载)
前言 leaflet-webpack 入门开发系列环境知识点了解: node 安装包下载webpack 打包管理工具需要依赖 node 环境,所以 node 安装包必须安装,上面链接是官网下载地址 w ...
- 顺F速运国际版,你的密码漏点了
- 加密情况分析 对APP的分析过程,当然首先是安装,使用,抓包啦. 同样地,登录,抓包看看. 使用账号密码登录. - 壳呢? 虽然直接解密了顺F国际版的加密数据,但还是有必要看看它的APK. 经过分 ...
- iOS 常用算法之设计一个算法,验证某字符是否为合法IPV4字符
浅析 : 一个IPV4字符由3个大于0小于255的数字 以及 3个点构成, 所有我们需要判断小数点数量是否满足条件, 以及小数点隔开的每部分是否满足条件即可. 思路: 1. 校验是否有3个小数点; 2 ...
- [排序][链表]Leetcode147 对链表进行插入排序
思路: 插入算法的思想很简单,此题比较为链表数据类型,方便的是不用一个一个的向后移动元素,但是找到应该插入的位置相对麻烦,因为链表只有next指针,无法快速定位要插入的位置.在链表前面插入一个空指针, ...
- 矩阵补全(Matrix Completion)和缺失值预处理
目录 1 常用的缺失值预处理方式 1.1 不处理 1.2 剔除 1.3 填充 2 利用矩阵分解补全缺失值 3 矩阵分解补全缺失值代码实现 4 通过矩阵分解补全矩阵的一些小问题 References 矩 ...
- 借助meta影藏顶部菜单
1===>报错 Cannot find module 'webpack/lib/Chunk' 删除node_modules 然后重新下载 4==> 现在已进入页面,底部就有四个菜单,在点击 ...