简介

脚本分2部分,1部分查找符合条件的索引名,2脚本调用1脚本,进行删除操作

脚本

查找符合条件的,默认大于30天

# coding:utf-8

__author__ = 'Jipu FANG'

from elasticsearch import  Elasticsearch
import re
import time
import datetime now = time.localtime()
data1 = datetime.datetime(now[0], now[1], now[2]) es=Elasticsearch("http://192.168.30.135:9200") res = es.cat.indices() l = res.strip().split()
def dindex(day=30):
index = []
for i in l:
if re.search('\d+\.\d+\.\d+$', i):
itime = time.strptime(re.findall('\d+\.\d+\.\d+$', i)[0], "%Y.%m.%d")
data2 = datetime.datetime(itime[0], itime[1], itime[2])
d = (data1-data2).days
if int(d) > int(day):
index.append(i)
return index if __name__ == '__main__':
print dindex()

对符合条件的索引,进行删除操作

# coding:utf-8

__author__ = 'Jipu FANG'

import requests
import json
import time
from multiprocessing.dummy import Pool as ThreadPool
import re
import indexs '''
delect index url:"http://192.168.30.135:9200/app-2017.05.16" headers:'Content-Type: application/json' data:{"query": {"match_all":{}}}'
select log curl: "http://192.168.30.135:9200/_search" headers:'Content-Type: application/json' data:{"query": {"match": {"message": {"query": "ERROR|77" }}}'
''' # request API
class ES_API:
def __init__(self, url, data, headers):
self.url=url
self.data=data
self.headers=headers def delete(self):
r = requests.delete(url=self.url, data=json.dumps(self.data), headers=self.headers)
v=r.text
print(v) def post(self):
r = requests.post(url=self.url, data=json.dumps(self.data), headers=self.headers)
v=r.text
print(v) # 删除索引,day保留多少天
def delete_index(day):
for i in indexs.dindex(day):
url = r"http://192.168.30.135:9200/%s" %(i)
headers = {'Content-Type':'application/json'}
data = {"query": {"match_all":{}}}
C=ES_API(url, data, headers)
C.delete()
time.sleep(3)
return "Delete indexs OK!" # 关闭索引,day保留多少天,当索引处于关闭状态,资源占用比较少
def close_index(day):
for i in indexs.dindex(day):
url = r"http://192.168.30.135:9200/%s/_close?pretty" %(i)
headers = {'Content-Type':'application/json'}
data = {}
C=ES_API(url, data, headers)
C.post()
time.sleep(3)
return "index status close ok!" delete_index(30)
time.sleep(60)
close_index(15)

最新文章

  1. iOS开发者联系 联系方式
  2. 项目分布式部署那些事(1):ONS消息队列、基于Redis的Session共享,开源共享
  3. 动态时间归整/规整/弯曲(Dynamic time warping,DTW)
  4. runc的detach, console, tty等相关问题
  5. HTML5开发注意事项及BUG解决
  6. 分享C#原生ID(流水号)生成功能实现
  7. zoj 3529 A Game Between Alice and Bob 博弈论
  8. Android 两个Activity进行数据传送 发送
  9. oracle timestamp的转换
  10. Android : 如何在WebView显示的页面中查找内容
  11. 我的Python成长之路---第六天---Python基础(20)---2016年2月20日(晴)
  12. Python学习笔记【第八篇】:Python内置模块
  13. 《CSS世界》读书笔记(二)
  14. ppt复制文本框文字到word的方法
  15. Flutter - TabBar导航栏切换后,状态丢失
  16. H - The Frog's Games
  17. 阿里巴巴数据库连接池 druid配置详解
  18. BZOJ.1014.[JSOI2008]火星人(Splay 二分 Hash)
  19. IE下的Firebug——IE WebDeveloper js debug
  20. chrome和IE下的滚动条样式修改

热门文章

  1. mysql安装简单教程(自动安装/配置安装)
  2. 【转】npm包管理器那些事
  3. PHP入门怎么选?大学生适合学习吗?
  4. ELK介绍
  5. Lucene.net(4.8.0)+PanGu分词器问题记录一:分词器Analyzer的构造和内部成员ReuseStategy
  6. Unity3D中通过Animator动画状态机获取任意animation clip的准确播放持续时长
  7. 微信小程序去除button按钮的边框
  8. 体验CSDN-Markdown
  9. poj:4091:The Closest M Points
  10. ASP.NET Core WebApi 返回统一格式参数