elasticsearchcurator从入门到实战(代码片段)

九师兄 九师兄     2022-12-11     391

关键词:

1.概述

转载:Curator 从入门到实战

Curator 是elasticsearch 官方的一个索引管理工具,可以通过配置文件的方式帮助我们对指定的一批索引进行创建/删除、打开/关闭、快照/恢复等管理操作。

2.场景

比如,出于读写性能的考虑,我们通常会把基于时间的数据按时间来创建索引。


当数据量到达一定量级时,为了节省内存或者磁盘空间,我们往往会根据实际情况选择关闭或者删除一定时间之前的索引。通常我们会写一段脚本调用elasticsearch的api,放到crontab中定期执行。这样虽然可以达到目的,但是脚本多了之后会变得难以维护。

Curator是如何解决这类问题的呢?我们一步一步来:

3.安装

首先,Curator是基于python实现的,我们可以直接通过pip来安装,这种方式最简单。

pip install elasticsearch-curator

4.基本配置

接下来,需要为 Curator 配置es连接:


其中hosts 允许配置多个地址,但是只能属于同一个集群。

这边只列举了最基本的配置,官方文档中包含了更详细的配置。

5.动作配置

然后需要配置我们需要执行的动作,每个动作会按顺序执行:

  • action 定义了需要执行的动作,curator支持十多种动作,可以在官方文档查看完整的动作列表。

  • options 定义了执行动作所需的参数,不同动作的参数也不尽相同,具体文档中都有写明。

  • filters 定义了动作的执行对象,通过设置filter,可以过滤出我们需要操作的索引。同一个action下的filter之间是且的关系。比如在上面的定义中,delete_indices下定义了两个filters:

    • 模式匹配:匹配前缀为log的索引

    • “年龄”匹配:根据索引名中“%Y.%m.%d”时间格式,过滤出3天以前的索引

curator支持十多种filter,可以在官方文档查看完整列表。

6.执行

最后,我们通过curator命令行工具来执行:

curator --config  /etc/curator/curator.yml 
 /etc/curator/actions/maintain_log.yml

得到命令行输出:


从日志中可以看到,我们已经成功创建了隔天的索引,并删除了28号以前的索引。

7.定时执行

配置好curator后,还需要配置定时任务

使用 crontab-e编辑crontab,

添加一行:

0 23 * * *
curator --config /etc/curator/curator.yml
/etc/curator/actions/maintain_log.yml >> /var/curator.log 2> &1

crontab配置中的第一段是执行的周期,6个值分别是“分 时 日 月 周”,*表示全部。所以这段配置的含义是在每天23点执行我们的这段脚本。

8.单个执行

除了定时任务,我们也可以在不依赖action配置文件的情况下用curator执行一些临时的批量操作。curator提供了 curator_cli的命令来执行单个action,比如我们想对所有log开头的索引做快照,使用一条命令即可完成:

curator_cli snapshot --repository repo_name 
--
filter_list 

"filtertype"
:
 
"pattern"
,
"kind"
:
 
"prefix"
,
 
"value"
:
 
"log"

是不是特别方便?

执行流程

视频教程-从编程小白到量化宗师之路---backtrader从数据采集到实盘交易-python

从编程小白到量化宗师之路---BackTrader从数据采集到实盘交易20年企业以及互联网软件开发经验,开发过互联网广告、大型企业组织项目资产管理、股票期货数字货币高频自动化交易系统、全市场数据流图式分析系统等,... 查看详情

hiredis从安装到实操,带api详解(代码片段)

文章目录花个两分钟跟我一起配置hiredisredis的C/C++API建立连接写数据库读数据库释放内存释放连接实操代码示例花个两分钟跟我一起配置hiredis当我们下载了最新版redis的时候,其实就已经自带了C++版本的操作库... 查看详情

hiredis从安装到实操,带api详解(代码片段)

文章目录花个两分钟跟我一起配置hiredisredis的C/C++API建立连接写数据库读数据库释放内存释放连接实操代码示例花个两分钟跟我一起配置hiredis当我们下载了最新版redis的时候,其实就已经自带了C++版本的操作库... 查看详情

初到实训

之前在大学待得两年里没有让自己得到充实,没有充实自己的大脑。像许多大学生一样虚度了自己的一年,在大二的某次机会竞选上了班级的领头羊职位--班长。开启了稍微忙碌一点的生活,除了让自己的管理能力稍微提升,自... 查看详情

oracle从入门到精通系列讲解-总目录(代码片段)

总目录欢迎大家来到Lucifer三思而后行的《Oracle从入门到精通系列》,开始前博主先列出Oracle学习的大纲,同时这也可以作为大家学习Oracle的参考。下面蓝字都是传送门,点击进入即可:学前必读Oracle从入门到精通... 查看详情

13从保护模式返回实模式

...们演示了从实模式进入到保护模式,那么从保护模式返回到实模式具体怎么操作呢?  先将上一节的程序列出:%include"i 查看详情

《wireshark从入门到精通》

 视频选集3/20P1wireshark从入门到精通P2wireshark入门到精通2P3wireshark入门到精通3P4wireshark入门到精通4P5wireshark入门到精通5P6wireshark入门到精通6P7wireshark入门到精通7P8wireshark入门到精通8P9wireshark入门到精通9P10wireshark入门到精通10P11w... 查看详情

es6从入门到精通系列学习笔记23篇(完结)

说明ES6从入门到精通系列(全23讲)学习笔记。可以自行搜索B站,有小马哥的视频学习。目录ES6从入门到精通#01:ES6介绍ES6从入门到精通#02:let和const命令ES6从入门到精通#03:模板字符串ES6从入门到精通#04&... 查看详情

babel从入门到入门

babel从入门到入门来源 http://www.cnblogs.com/gg1234/p/7168750.html 博客讲解内容如下:  1、babel是什么  2、javascript制作规范  3、babel转译器  4、babel的使用  5、常见的几种babel转译器和插件  6、babel最常见配置选项... 查看详情

wpfmvvm从入门到精通3:数据绑定

原文:WPFMVVM从入门到精通3:数据绑定 ?WPFMVVM从入门到精通1:MVVM模式简介WPFMVVM从入门到精通2:实现一个登录窗口WPFMVVM从入门到精通3:数据绑定WPFMVVM从入门到精通4:命令和事件WPFMVVM从入门到精通5:PasswordBox的绑... 查看详情

tkinterdesigner从入门到精通视频教程

...!欢迎使用TKinterDesigner!以下是《TKinterDesigner从入门到精通》哔哩哔哩视频教程第一讲:《TKinterDesigner从入门到精通》第一讲第二讲:《TKinterDesigner从入门到精通》第二讲第三讲:《TKinterDesigner从入门到精通... 查看详情

tkinterdesigner从入门到精通视频教程

...!欢迎使用TKinterDesigner!以下是《TKinterDesigner从入门到精通》哔哩哔哩视频教程第一讲:《TKinterDesigner从入门到精通》第一讲第二讲:《TKinterDesigner从入门到精通》第二讲第三讲:《TKinterDesigner从入门到精通... 查看详情

❤️‍spring从入门到大神--aop从入门到精通

文章目录1、AOP介绍2、入门案例2.1、需求:2.2、实现思路:3、AOP作用和优势4、入门案例24.1、需求5、AOP实现方法6、相关AOP术语7、相关注解7.1、切入点表达式7.2、通知方法7.3、抽取公共切入点8、完整通知演示8.1、AOP编程8.2、目标接... 查看详情

《java从入门到放弃》文章目录

...,等相关内容都写完后,再按学习顺序来整理。《Java从入门到放弃》入门篇:XMLHttpRequest的基本用法《Java从入门到放弃》入门篇:Struts2的基本访问方《Java从入门到放弃》入门篇:Struts2的基本访 查看详情

wpfmvvm从入门到精通8:数据验证(代码片段)

原文:WPFMVVM从入门到精通8:数据验证 WPFMVVM从入门到精通1:MVVM模式简介WPFMVVM从入门到精通2:实现一个登录窗口WPFMVVM从入门到精通3:数据绑定WPFMVVM从入门到精通4:命令和事件WPFMVVM从入门到精通5:PasswordBox的绑... 查看详情

java从入门到放弃

 (1)Java入门变量与注释 用户输入if语句java中的循环while 查看详情

excel从入门到入土

Excel从入门到入土1.单元格内文字纵向对齐右键设置单元格格式2.一个单元格文本不同颜色右键设置单元格格式数字类型设置为文本 查看详情

初识pytorch:从安装到入门,从入门到放弃(代码片段)

目录PyTorch安装配置安装验证PyTorchPyTorch是Facebook团队于2017年1月发布的一个深度学习框架,虽然晚于TensorFlow,也没有TensorFlow火,但目前已经与TensorFlow奇虎相当。而且PyTorch采用了Python语言的接口,可以说它才是Pytho... 查看详情