我们有一台ES服务器,设置了每天02:00执行一次清理索引数据的定时任务,但这两天总是出现磁盘空间抖动,一线一看见超了阈值,就打电话报警,可能整晚要被叫几次,ES作为日志平台的一部分,只是为了方便我们检索日志,不影响实际业务,这就比较烦了。

除了挂起报警,一种暴力的方法,就是再设置一些定时作业时间点,简单是简单,但弊端就是有可能到点儿了,空间还有,不需要删除,但仍执行了删除,可见的数据就少了,而且如果间隔时间设置不合理,很有可能还会超阈值。

今儿单位值班,就简单思考一下,既然报警是有阈值的,那么执行删除的操作,是不是可以参考执行?

以下实现采用了shell脚本,简单的方式,当然你用python,甚至重一些的java,都可以实现类似的功能,实现原理相同,实现方式不同,无伤大雅。我们一步一步拆解来看,如何实现这一个功能。

如下是执行df -h回显,

这里我要监控的是/opt/app路径,要做的判断就是如果此路径空间使用率超过90%,则执行删除ES索引数据的操作。

首先需要获取/opt/app的空间使用率,df -h中第四列,已经给出了使用率百分比,为了获取这个值,可以使用awk命令,来截取这个值。awk接收df -h的输出,作为输入,$4表示打印第四列(空格或者TAB隔开),

我其实只是需要/opt/app对应的信息,df -h指定/opt/app路径,

再进一步,我只需要百分比数据,只检索包含/opt/app这行,

这里是百分比,我需要数字进行阈值比较,因此需要删除%,用了sed做值替换,即将%换为空,

现在我们得到了当前使用率,要和阈值进行比较了,其中CURRENT是当前使用率,THRESHOLD是阈值,如果CURRENT>=THRESHOLD,则执行curl -XDELETE $URL操作,进行ES索引数据的清理工作,

可以将其中的变量,设为参数,便于统一管理,还可以log一些信息,

以上脚本加入crontab中,定时10分钟执行一次,就可以实现,根据磁盘空间阈值,来做索引数据删除的操作。一个比较简单的功能需求,涉及了awk、管道、sed这些常用的指令,用起来就可以慢慢理解了。

完整的shell脚本可以从GitHub上来下载,

https://github.com/bisal-liu/oracle/blob/master/crontab_es_del.sh

如果您觉得此篇文章对您有帮助,欢迎关注微信公众号:bisal的个人杂货铺,您的支持是对我最大的鼓励!共同学习,共同进步:)

定制化删除ES索引数据相关推荐

  1. ES索引数据迁移 _reindex

    索引数据迁移 集群内部索引迁移,从一个索引迁移数据到另一个索引里 1. 创建新索引 新索引与就索引结构保持一致 通过就索引_mapping _setting 获取配置和结构信息 然后创建新索引 需要注 ...

  2. python删除列索引_29. Python 删除 更改 索引数据

    1.删除数据 需求:课程的及格率太低,最后名最差的5名老师将会被开除 import codecs import MySQLdb def connect_mysql(): db_config = { ' ...

  3. 中国工程院院士谭建荣:工业大数据与定制化设计—关键技术与典型应用

    5月5日,"2017中国工业大数据大会·钱塘峰会"在杭州国际博览中心举办.本届峰会以"数据驱动创新 融合引领变革"为主题,围绕工业大数据展开分享与交流.中国工程 ...

  4. 采访:应用软件定制化有什么优点?

    在当今"互联网+"的大应用环境下,对企业而言,各类软件及其配套设备的广泛使用,极大地提高了生产及管理效率.但是,不同行业.不同类型的企业用户对信息化的需求不同,其管理特点也各不相同 ...

  5. 基于百度EasyDL定制化图像识别平台的海洋鱼类识别方法

    [目的]鱼类识别对渔业资源的开发利用有着重要的意义.针对海底环境恶劣.拍摄环境亮度低.场景模糊的实际情况导致海底观测视频品质差,视频中的鱼类识别难的问题以及现有鱼类识别方法存在的鱼类标注数据集过少导致 ...

  6. es命令删除索引数据_elasticsearch常用命令

    #查看健康状态 curl -XGET 127.0.0.1:9200/_cluster/health?pretty #查看所有shard curl -XGET 'http://localhost:920 ...

  7. es命令删除索引数据_Elasticsearch-删除数据

    ES-删除数据 删除单个文档或者一组文档.这样做的时候,ES只是将它们标记为删除,所以它们不会再出现于搜索结果中,稍后ES通过异步的方式将它们彻底的从索引中移出. 删除整个索引.这是删除多组文档的特例 ...

  8. 安装es怎么在后台运行_ES备份索引数据到阿里云OSS

    ES的快照备份当前是存放在NAS下,考虑成本问题现在打算把快照备份到阿里云OSS下. https://github.com/aliyun/elasticsearch-repository-oss,此插 ...

  9. es 删除数据_es 写入数据的工作原理是什么啊?es 查询数据的工作原理是什么啊?...

    面试题 es 写入数据的工作原理是什么啊?es 查询数据的工作原理是什么啊?底层的 lucene 介绍一下呗?倒排索引了解吗? 面试官心理分析 问这个,其实面试官就是要看看你了解不了解 es 的一些基 ...

最新文章

  1. 高清视频实时对讲SDK源码
  2. python资料库-Python对接六大主流数据库,只需三步
  3. python报错:ModuleNotFoundError: No module named ‘tkinter‘ 解决办法
  4. L1、L2损失 和 L1、L2正则化
  5. Android缩放比例公式,android开发 缩放到指定比例的尺寸
  6. spring-注解---IOC(3)
  7. 计算机基础及msoffice应用好考吗,全国计算机等级考试考试一级WPS Office和MS Office有什么不同?那个好考?...
  8. CN Erlounge IV 讲师名单公布及Call For Topic
  9. python CV2裁剪图片并保存
  10. POJ-1191 棋盘分割 记忆化搜索
  11. 程序崩溃优雅退出之-SetUnhandledExceptionFilter
  12. 【ICEPAK】手把手教你热仿真
  13. 微信微博防劫持短网址生成
  14. 办公电脑远程软件有哪些、这几款你知道吗
  15. C++实现单例模式 —— 打印机
  16. 面试官问上一家公司离职原因怎么办?
  17. 含有未知中间变量同时需要传递其他中间变量的微分方程参数拟合
  18. 得链表者得天下(上)
  19. 每周分享第 23 期
  20. 2020.8.26丨Nanopore甲基化测序产品概述

热门文章

  1. 什么是BPM工具?BPM工具有哪些功能?白码详解
  2. 是德科技DSOX2002A型号示波器的使用
  3. 计算机名格式不对,电脑文件粘贴以后格式不对怎么办
  4. 〖Python 数据库开发实战 - Python与MySQL交互篇⑱〗- 项目实战 - 实现用户管理 - 删除用户
  5. 使用MySQL,请用好 JSON 这张牌!
  6. java.sql.SQLException: 不支持的字符集 (在类路径中添加 orai18n.jar): ZHS16GBK
  7. 实验11-2-7 统计专业人数 (15 分)
  8. windows 桌面图标 隐藏 小盾牌标志
  9. 更多Windows Phone 8新功能详解
  10. java基于springboot+Vue+nodejs的高校网上二手闲置跳蚤市场 element