使用Curator在腾讯云Elasticsearch中自动删除过期数据(免费)

前言|

最近遇到一些小问题,就是我们的ES用户使用curator这个工具去自动管理集群索引的时候,因为云上的ES白金版存在安全认证,云函数需要添加认证参数才能实际安全执行,怎么解决呢?(curator理论就不多说,直接上实际操练)

一、腾讯云无服务器函数SCF+Curator工具实际操作过程

步骤如下:

第一步:先登录到腾讯云控制台,创建一个云函数,如果找不到,可以直接在“产品”里搜索“scf”,即可,如下:

搜索SCF

第二步:点击“云函数”---“新建”,如下:

新建云函数

第三步:在弹出来的界面中,按照如下信息进行选择,点击下一步,如下:

函数基本信息

第四步:在这个页面中,会显示默认的curator链接ES的配置信息,如果您的ES是不需要安全验证的,则保持默认即可。如下:

无安全认证模板

第五步:curator链接带安全认证的ES的设置,如下:

带安全认证设置

根据您购买的ES集群信息编辑模板的相关参数

esServer: es集群vpc内网的Vip和端口

esPrefix: es索引的前缀,如hezhen-nginx-

esCuratorTimeStr: 索引中的时间格式,如%Y-%m-%d。这样将会匹配形如hezhen-nginx-0510为名字的索引。

esCuratorTimeUnit: 时间周期,可以选择小时(hours),天(days),月(months)等。这里我因为测试,选hours

esCuratorTimeCount: 时间间隔,和上面的时间周期一起来配置过期索引的时间。这里我因为测试,选1小时

那么上面模板的意思就是:删除 ES上一个小时以前的以hezhen-nginx开头的索引

第六步:指定云函数运行的环境配置、私有网络

在函数配置页面点击编辑。环境配置,选择内存和超时时间,在网络配置中,选择ES服务所在的vpc和子网。如下:

环境配置
私有网络

第七步:在接下来的页面中,我们可以进行一系列的操作,比如监控、函数配置及测试、还有日志查询等。这里我们选择“触发管理”,配置云函数的定时触发,如下

SCF函数创建界面

创建定时触发,根据实际来选,然后选择提交即可。如下:

创建定时触发

我这里因为测试:我选1分钟,执行一次.

第八步:结果验证

在测试以前我已经先创建了一些索引,如下:

测试索引

那么一分钟已过,这些索引,有没有被删除呢?我们去ES上确认一下:发现索引已经被自动删除!

再次查看索引

第九步: 查看SCF运行日志,可以通过查看日志选项,查看SCF的运行信息,及时发现问题

绿色:表示SCF函数调用成功

红色:表示SCF函数调用失败

SCF运行日志

附:SCF配置联通测试: 成功,表示链接ES成功.

SCF配置测试结果

二、总结

Curator是一个用来管理Elasticsearch索引的工具,使用它可以管理需要删除或保留的索引数据。结合腾讯云的SCF函数可以轻松实现腾讯云ES的自动管理,极大的方便了用户ES集群的索引管理,大大减轻了用户的工作量。通过本文,你可以解决腾讯云所有ES版本的数据索引问题。你GET了吗??

本文参考以下大神文章做的更新,一并鸣谢!!

https://cloud.tencent.com/developer/article/1361207